7 solutions
-
0
P1072. 排队打水
题意概述
不同的人有不同的打水时间,根据他们的打水时间,用一个最优方案使得所有人的等候时间最短
题意分析
为了尽快让大家的等待时间较少,就应该把打水时间较短的放到最前面(严重怀疑这是一个排序题,或者说就是排序题),我们对打水时长做一个升序排序,然后依次计算每个人的等待时间最后累加即可。
可行代码
#include <algorithm> #include <iostream> using namespace std; typedef long long ll; int main() { ll all; cin >> all; ll time[all]; for (ll i = 0; i < all; i++) cin >> time[i]; sort(time, time + all); ll sum = 0; for(ll i = 0; i < all; i++){ sum += time[i] * (all - i - 1); } cout << sum << endl; return 0; }
END
Information
- ID
- 76
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 6
- Tags
- # Submissions
- 256
- Accepted
- 81
- Uploaded By