- 接水问题
好难!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 2025-4-26 14:54:43 @
#include #include #include
using namespace std;
int main() { int n, m; cin >> n >> m; vector w(n); for (int i = 0; i < n; ++i) { cin >> w[i]; }
priority_queue<int, vector<int>, greater<int>> pq;
// 初始时,前m个同学开始接水
for (int i = 0; i < min(m, n); ++i) {
pq.push(w[i]);
}
// 处理剩余同学
for (int i = m; i < n; ++i) {
int earliest = pq.top();
pq.pop();
pq.push(earliest + w[i]);
}
// 总时间是堆中最大的时间
int total_time = 0;
while (!pq.empty()) {
total_time = max(total_time, pq.top());
pq.pop();
}
cout << total_time << endl;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 234
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 30
- 已通过
- 15
- 上传者