UVA 11729突击战(贪心)

来源:互联网 发布:汽车维修模拟软件 编辑:程序博客网 时间:2024/05/29 13:54
思路:要时间最短,即要求尽量多的任务同时进行,则把执行时间由大到小排序即可。
#include <iostream>#include <map>#include <deque>#include <queue>#include <stack>#include <string>#include <cstring>#include <cstdio>#include <cmath>#include <algorithm>#include <map>#include <set>using namespace std;struct abc{    int b,j;}a[1005];bool cmp(abc x,abc y){    return x.j>y.j;}int main(){    int n,k=1;    while(scanf("%d",&n)&&n)    {        int i,sum,max;        for(i=0;i<n;i++)            cin>>a[i].b>>a[i].j;        sort(a,a+n,cmp);        sum=max=a[0].b+a[0].j;        for(i=1;i<n;i++)        {            a[i].b+=a[i-1].b;            sum=a[i].b+a[i].j;            if(max<sum) max=sum;        }        printf("Case %d: %d\n",k++,max);    }    return 0;}