4003 | 2023. 03. 08 08:32:43 | 1478 | Sípálya (55 pont) | cpp17 | Accepted 55/55 | 120ms | 24168 KiB |
#include <bits/stdc++.h>
using namespace std;
int main()
{
//ifstream cin("in.txt");
long long n;
cin >> n;
long long k;
cin >> k;
vector<long long> heights(n + 2);
vector<long long> ps(n + 1);
for(int i = 1; i <= n; i++){
cin >> heights[i];
ps[i] = ps[i - 1] + heights[i];
}
multiset<long long> s;
for(int i = 1; i <= k; i++){
s.insert(heights[i] + i);
}
long long ans = LONG_MAX;
for(long long i = k; i <= n; i++){
long long actualsum = ps[i] - ps[i - k];
long long neededsum = (*s.rbegin()- i) * k + (k - 1)*k/2;
//cout << i << " " << heights[i] << " " << *s.rbegin() - i << " " << neededsum - actualsum << '\n';
ans = min(ans, neededsum - actualsum);
s.erase(s.lower_bound(heights[i - k + 1] + i - k + 1));
s.insert(heights[i + 1] + i + 1);
}
cout << ans;
return 0;
}
Subtask | Sum | Test | Verdict | Time | Memory | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Accepted | 0/0 | 3ms | 1812 KiB | |||
2 | Accepted | 0/0 | 3ms | 2184 KiB | |||
3 | Accepted | 2/2 | 3ms | 2292 KiB | |||
4 | Accepted | 2/2 | 3ms | 2452 KiB | |||
5 | Accepted | 2/2 | 4ms | 2676 KiB | |||
6 | Accepted | 2/2 | 3ms | 2892 KiB | |||
7 | Accepted | 3/3 | 3ms | 3096 KiB | |||
8 | Accepted | 1/1 | 8ms | 3856 KiB | |||
9 | Accepted | 1/1 | 8ms | 3892 KiB | |||
10 | Accepted | 1/1 | 8ms | 3856 KiB | |||
11 | Accepted | 1/1 | 8ms | 4212 KiB | |||
12 | Accepted | 1/1 | 8ms | 3928 KiB | |||
13 | Accepted | 1/1 | 8ms | 4156 KiB | |||
14 | Accepted | 2/2 | 8ms | 4264 KiB | |||
15 | Accepted | 2/2 | 8ms | 4400 KiB | |||
16 | Accepted | 2/2 | 109ms | 10576 KiB | |||
17 | Accepted | 2/2 | 114ms | 19440 KiB | |||
18 | Accepted | 2/2 | 114ms | 20480 KiB | |||
19 | Accepted | 3/3 | 116ms | 24168 KiB | |||
20 | Accepted | 2/2 | 115ms | 11816 KiB | |||
21 | Accepted | 2/2 | 111ms | 11828 KiB | |||
22 | Accepted | 2/2 | 112ms | 11968 KiB | |||
23 | Accepted | 2/2 | 114ms | 11628 KiB | |||
24 | Accepted | 2/2 | 120ms | 11844 KiB | |||
25 | Accepted | 2/2 | 115ms | 12596 KiB | |||
26 | Accepted | 2/2 | 114ms | 12904 KiB | |||
27 | Accepted | 2/2 | 112ms | 13392 KiB | |||
28 | Accepted | 3/3 | 114ms | 13396 KiB | |||
29 | Accepted | 3/3 | 118ms | 13960 KiB | |||
30 | Accepted | 3/3 | 115ms | 14496 KiB |