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; }