标签:sort color style using include eve cbe int pen
有N个人排队到M个水龙头去打水,他们装满水桶的时间T1,T2,...,Tn为整数且各不相等,应如何安排他们的打水顺序才能使他们花费的总时间最少?
第一行,两个整数n和m,n表示人的个数,m表示水龙头的个数;
第二行,n个数,分别表示n个人装水的时间;
一行,一个整数,表示总花费的最少时间。
6 2
5 4 6 2 1 7
40
我们开一个数组维护$m$个水龙头当前的打水等待时间,每次选时间最小的打水即可。
#include <iostream> #include <algorithm> using namespace std; int n, m; int a[1005]; int s[1005]; int ans; int main() { cin >> n >> m; for(register int i = 1; i <= n; ++i) { cin >> a[i]; } sort(a + 1, a + n + 1); s[0] = 214743647; int pos; for(register int i = 1; i <= n; ++i) { pos = 0; for(register int j = 1; j <= m; ++j) { if(s[pos] > s[j]) pos = j; } s[pos] += a[i]; ans += s[pos]; } cout << ans; return 0; }
标签:sort color style using include eve cbe int pen
原文地址:https://www.cnblogs.com/kcn999/p/10803525.html