设为首页 加入收藏

TOP

Codeforces(441B) Round #252 (Div. 2)
2015-07-24 06:37:31 来源: 作者: 【 】 浏览:55
Tags:Codeforces 441B Round #252 Div.

?

题目大意:有一个果园里有很多树,上面有很多果实,为了不然成熟的果实腐烂,必须在两天之内收集起来。给出果园有的树,以及该树上的果实个数,工人每天可以采集的上限,求出这段时间之后,能收集到的最大值

很简单,维护一个一维数组ans[],首先将数据存在结构体中,再按果实成熟的日期ai升序排序,优先将果实计入ans[ai]中,多的放入ans[ai+1]里面,如果大于上限,则记为上限大小,最后这个数组全部元素的和就是答案了。

?

#include 
  
   
#include 
   
     #include 
    
      #define MAX_N 3000 using namespace std; struct fruit { int x,y; }; bool cmp(fruit a,fruit b) { return a.x
     
      v) ans[a[i].x]=v; else ans[a[i].x]+=ans[a[i].x-1]+a[i].y-v; ans[a[i].x-1]=v; } } int Mans=0; for(int i=0;i<=maxi;i++) Mans+=ans[i]; printf(%d ,Mans); return 0; }
     
    
   
  


?

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇uva Children's Game 下一篇Core Data浅谈系列之十 : 关于数..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: