按b从大到小排序。
#include<iostream>
#include<cstdio>
#include<cstring>
#include<cmath>
#include<algorithm>
using namespace std;
#define nMax 100010
struct T{
int a,b;
void read() {
scanf("%d%d",&a,&b);
}
};
T s[nMax];
int cmp(T u,T v) {
return u.b > v.b;
}
int n,t,cas=1;
int main() {
#ifndef ONLINE_JUDGE
freopen("in.txt","r",stdin);
#endif
scanf("%d",&t);
while(t--) {
scanf("%d",&n);
for(int i=0;i<n;i++) s[i].read();
sort(s,s+n,cmp);
int ans=0;
int ret=0;
for(int i=0;i<n;i++) {
ret += s[i].a;
if(ans < ret + s[i].b) {
ans = ret + s[i].b;
}
}
printf("Case %d: %d\n",cas++,ans);
}
return 0;
}