#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
上传者