自己做的网站怎么设置文件下载,优购商城网站建设,自学编程的网站,东莞黄页大全UVA11729 Commando War
题面翻译
突击战
你有n个部下#xff0c;每个部下需要完成一项任务。第i个部下需要你花Bj分钟交代任务#xff0c;然后他就会立刻独立地、无间断地执行Ji分钟后完成任务。你需要选择交代任务的顺序#xff0c;使得所有任务尽早执行完毕#xff08…UVA11729 Commando War
题面翻译
突击战
你有n个部下每个部下需要完成一项任务。第i个部下需要你花Bj分钟交代任务然后他就会立刻独立地、无间断地执行Ji分钟后完成任务。你需要选择交代任务的顺序使得所有任务尽早执行完毕即最后一个执行完的任务应尽早结束。注意不能同时给两个部下交代任务但部下们可以同时执行他们各自的任务。
输入格式
输入包含多组数据每组数据的第一行为部下的个数N(1N1000);以下N行每行两个正整数B和J1B10000,1J10000),即交待任务的时间和执行任务的时间。输入结束标志为N0。
输出格式
对于每组数据输出所有任务完成的最短时间。
样例输入
3 2 5 3 2 2 1 3 3 3 4 4 5 5 0
样例输出
Case 18 Case 215
由 Legends丶dream 提供翻译
题目描述
PDF 输入格式 输出格式 样例 #1
样例输入 #1
3
2 5
3 2
2 1
3
3 3
4 4
5 5
0样例输出 #1
Case 1: 8
Case 2: 15Solution
首先按照任务执行时间进行排序先派遣执行时间长的士兵去执行任务并且每一个士兵执行完成的时间为前面派遣的时间加上该士兵执行任务的时间所以最大的那个完成时间就是我们所需要的
//
// Created by Gowi on 2023/12/2.
//#include iostream
#include algorithm#define N 1050using namespace std;struct Soldier {int b;int s;
};bool cmp(Soldier a, Soldier b) {return a.s b.s;
}int main() {int n, v 0;while (cin n n ! 0) {Soldier soldiers[N];for (int i 0; i n; i) {cin soldiers[i].b soldiers[i].s;}sort(soldiers, soldiers n, cmp);int t 0;int maxT 0;for (int i 0; i n; i) {t soldiers[i].b;maxT max(maxT, t soldiers[i].s);}cout Case v : maxT endl;}return 0;
}