贪心算法排序,最后加上长度
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
struct T{
int b,j;
friend bool operator<(const T& p, const T& q){
return p.j > q.j;
}
}arr[1010];
int main(int argc, char const *argv[])
{
int n,cnt = 0;
while(cin >> n && n){
for(int i = 0; i < n; i++)
cin >> arr[i].b >> arr[i].j;
sort(arr,arr+n);
int tmp = 0, mx = 0;
for(int i = 0; i < n; i++){
tmp += arr[i].b;
mx = max(mx,arr[i].j + tmp);
}
printf("Case %d: %d\n", ++cnt,mx);
}
return 0;
}