8188 | 2024. 01. 12 16:48:08 | szabelr | Sípálya (55 pont) | cpp17 | Elfogadva 55/55 | 319ms | 8276 KiB |
#include <iostream>
using namespace std;
long epit(long h[], long s, long K, long N) {
long maxi = 0;
for (long i = 0; i < K; i++)
if (h[s + i] + i > h[s + maxi] + maxi) maxi = i;
/* cout << "maxi = " << maxi << endl; */
long m = h[s + maxi] - (K - 1 - maxi); // utolso lepcsofok magassaga
/* cout << "m = " << m << endl; */
long hs = 0;
for (long i = 0; i < K; i++) hs += h[s + i];
return K * (K - 1) / 2 + K * m - hs;
}
int main() {
long N, K, h[200000];
cin >> N >> K;
for (long i = 0; i < N; i++) cin >> h[i];
long maxi = 0;
for (long i = 0; i < K; i++)
if (h[i] + i > h[maxi] + maxi) maxi = i;
long m = h[maxi] - (K - 1 - maxi); // utolso lepcsofok magassaga
long hs = 0;
for (long i = 0; i < K; i++) hs += h[i];
long minp = K * (K - 1) / 2 + K * m - hs;
for (long s = 1; s < N - K + 1; s++) {
/* long p = epit(h, s, K, N); */
if (maxi > 0) {
if (h[s - 1 + maxi] + maxi - 1 > h[s + K - 1] + K - 1) maxi--;
else maxi = K - 1;
}
else {
maxi = 0;
for (long i = 0; i < K; i++)
if (h[s + i] + i > h[s + maxi] + maxi) maxi = i;
}
m = h[s + maxi] - (K - 1 - maxi); // utolso lepcsofok magassaga
hs = hs - h[s - 1] + h[s + K - 1];
long p = K * (K - 1) / 2 + K * m - hs;
if (p < minp) minp = p;
}
cout << minp;
}
Részfeladat | Összpont | Teszt | Verdikt | Idő | Memória | ||
---|---|---|---|---|---|---|---|
base | 55/55 | ||||||
1 | Elfogadva | 0/0 | 4ms | 5116 KiB | |||
2 | Elfogadva | 0/0 | 4ms | 5484 KiB | |||
3 | Elfogadva | 2/2 | 4ms | 5612 KiB | |||
4 | Elfogadva | 2/2 | 4ms | 5708 KiB | |||
5 | Elfogadva | 2/2 | 4ms | 5880 KiB | |||
6 | Elfogadva | 2/2 | 4ms | 5788 KiB | |||
7 | Elfogadva | 3/3 | 4ms | 5792 KiB | |||
8 | Elfogadva | 1/1 | 7ms | 5916 KiB | |||
9 | Elfogadva | 1/1 | 7ms | 6132 KiB | |||
10 | Elfogadva | 1/1 | 7ms | 6364 KiB | |||
11 | Elfogadva | 1/1 | 14ms | 6288 KiB | |||
12 | Elfogadva | 1/1 | 14ms | 6416 KiB | |||
13 | Elfogadva | 1/1 | 21ms | 6560 KiB | |||
14 | Elfogadva | 2/2 | 18ms | 6656 KiB | |||
15 | Elfogadva | 2/2 | 13ms | 6628 KiB | |||
16 | Elfogadva | 2/2 | 219ms | 6628 KiB | |||
17 | Elfogadva | 2/2 | 71ms | 6884 KiB | |||
18 | Elfogadva | 2/2 | 71ms | 6972 KiB | |||
19 | Elfogadva | 3/3 | 71ms | 6984 KiB | |||
20 | Elfogadva | 2/2 | 109ms | 7056 KiB | |||
21 | Elfogadva | 2/2 | 127ms | 7152 KiB | |||
22 | Elfogadva | 2/2 | 210ms | 7268 KiB | |||
23 | Elfogadva | 2/2 | 238ms | 7472 KiB | |||
24 | Elfogadva | 2/2 | 319ms | 7548 KiB | |||
25 | Elfogadva | 2/2 | 118ms | 7736 KiB | |||
26 | Elfogadva | 2/2 | 130ms | 7808 KiB | |||
27 | Elfogadva | 2/2 | 71ms | 8028 KiB | |||
28 | Elfogadva | 3/3 | 79ms | 8120 KiB | |||
29 | Elfogadva | 3/3 | 71ms | 8040 KiB | |||
30 | Elfogadva | 3/3 | 71ms | 8276 KiB |