分析:贪心。案结束时间递减排序即可。
说明:最近打钢铁雄心影响进度了(⊙_⊙)。
#include <algorithm>
#include <iostream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <cmath>
using namespace std;
typedef struct node
{
int B,J;
}data;
data D[10001];
int cmp(data a, data b)
{
if (a.J == b.J)
return a.B < b.B;
return a.J > b.J;
}
int main()
{
int n,T = 1;
while (scanf("%d",&n) && n) {
for (int i = 0 ; i < n ; ++ i)
scanf("%d%d",&D[i].B,&D[i].J);
sort(D, D+n, cmp);
int Max = 0,Now = 0;
for (int i = 0 ; i < n ; ++ i) {
Now += D[i].B;
if (Max < Now+D[i].J)
Max = Now+D[i].J;
}
printf("Case %d: %d\n",T ++,Max);
}
return 0;
}
原文:http://blog.csdn.net/mobius_strip/article/details/41420891