UVA 11729(p2)----Commando War

#include<bits/stdc++.h>
using namespace std;
const int maxn=1010;
struct point
{
    int b,j;
};
int n,cas=0;
point a[maxn];
int cmp(point x,point y)
{
    if(x.j==y.j) return x.b<y.b;
    else return x.j>y.j;
}
int main()
{
    while(scanf("%d",&n)==1&&n)
    {
        int ans=0,now=0;
        for(int i=0;i<n;i++)
            scanf("%d%d",&a[i].b,&a[i].j);
        sort(a,a+n,cmp);
        for(int i=0;i<n;i++)
        {
            now+=a[i].b;
            ans=max(ans,now+a[i].j);
        }
        printf("Case %d: %d\n",++cas,ans);
    }
    return 0;
}

你可能感兴趣的:(UVA 11729(p2)----Commando War)