UVA 11729 - Commando War
2013-03-23 12:06
337 查看
贪心
首先按执行时间排序,然后维护一个变量maxJobTimeLeft,表示最大的任务剩余时间,累加所有的分配时间,再加上最后的最大任务剩余时间就是答案
首先按执行时间排序,然后维护一个变量maxJobTimeLeft,表示最大的任务剩余时间,累加所有的分配时间,再加上最后的最大任务剩余时间就是答案
#include <iostream> #include <memory.h> #include <algorithm> #include <cstdio> using namespace std; #define MAX 1010 struct node { int b,j; bool operator<(const node & rhs)const{ return j>rhs.j; } }soldiers[MAX]; int n; int main(){ int cas=1; while (scanf("%d",&n)&&n) { int cost=0,maxJobTimeLeft=0; for(int i=0;i<n;++i)scanf("%d %d",&soldiers[i].b,&soldiers[i].j); sort(soldiers,soldiers+n); for (int i=0;i<n;++i) { cost+=soldiers[i].b; maxJobTimeLeft-=soldiers[i].b; if(soldiers[i].j>maxJobTimeLeft)maxJobTimeLeft=soldiers[i].j; } printf("Case %d: %d\n",cas++,cost+maxJobTimeLeft); } }
相关文章推荐
- UVA 11729 Commando War
- UVA 11729 Commando War
- [UVA] 11729 - Commando War
- uva 11729 - Commando War
- UVA 11729 Commando War
- UVA 11729 Commando War
- 贪心 UVA 11729 Commando War
- UVA 11729 Commando War
- UVA - 11729 Commando War
- UVA 11729 Commando War
- UVa 11729 - Commando War
- UVA 11729 - Commando War
- UVA 11729 Commando War
- UVA 11729 - Commando War
- UVA11729 - Commando War
- Uva 11729 Commando War
- UVA 11729 Commando War
- UVA 11729 Commando War
- uva 11729 Commando War
- UVa 11729 Commando War