http://acm.hdu.edu.cn/showproblem.php?pid=4221

哎,这么简单一道题,愁

View Code
#include <stdio.h>
#include <stdlib.h>
typedef struct L{
    __int64 c,d;
}L;
L kk[110000];
int cmp(const void*a,const void*b)
{
    return (*(L*)a).d-(*(L*)b).d;
}
int main()
{
    int t,n;
    int i;
    __int64 time,py;
    int nCase=1;
    scanf("%d",&t);
    while(t--)
    {
        scanf("%d",&n);
        for(i=0;i<n;i++)
            scanf("%I64d%I64d",&kk[i].c,&kk[i].d);
        qsort(kk,n,sizeof(L),cmp);
        time=py=0;
        for(i=0;i<n;i++)    
        {
            time+=kk[i].c;
            if(py<time-kk[i].d)py=time-kk[i].d;
        }
        printf("Case %d: %I64d\n",nCase++,py);
    }
    return 0;
}