- 接水问题
难吗?
- 2025-4-26 16:31:46 @
#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]; }
if (n <= m) {
cout << *max_element(w.begin(), w.end()) << endl;
return 0;
}
vector<int> taps(m);
for (int i = 0; i < m; ++i) {
taps[i] = w[i];
}
int time = 0;
int current = m;
while (current < n) {
int min_time = *min_element(taps.begin(), taps.end());
time += min_time;
for (int i = 0; i < m; ++i) {
taps[i] -= min_time;
if (taps[i] == 0) {
if (current < n) {
taps[i] = w[current];
current++;
}
}
}
}
time += *max_element(taps.begin(), taps.end());
cout << time << endl;
return 0;
}
0 条评论
目前还没有评论...
信息
- ID
- 234
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 5
- 标签
- (无)
- 递交数
- 30
- 已通过
- 15
- 上传者