uva - 11729 - Commando War
题意:指挥官给N个军人分配任务,需用 B[i] 的时间给第i个人陈述任务,而此人需用 J[i] 的时间去完成此任务。问最短执行完所有任务的总时间。
——>>水题。
#include <iostream> #include <algorithm> using namespace std; const int maxn = 1000 + 10; struct soldier { int B; int J; bool operator < (const soldier &s) const { return J > s.J; } }; int main() { int N, i, cnt = 1; soldier s[maxn]; while(cin>>N) { if(N == 0) return 0; for(i = 0; i < N; i++) cin>>s[i].B>>s[i].J; sort(s, s+N); int sum_B = 0, sum = 0; for(i = 0; i < N; i++) { sum_B += s[i].B; sum = max(sum_B+s[i].J, sum); } cout<<"Case "<<cnt++<<": "<<sum<<endl; } return 0; }