# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1244824 | CrabCNH | Telefoni (COCI17_telefoni) | C++20 | 10 ms | 328 KiB |
#pragma GCC optimize("O3,unroll-loops")
#include <bits/stdc++.h>
#define pii pair <int, int>
#define fi first
#define se second
using namespace std;
const int N = 3e5 + 5;
const int inf = 1e9 + 7;
signed main () {
ios_base :: sync_with_stdio (0);
cin.tie (0);
cout.tie (0);
#define task "telefoni"
if (fopen (task".inp", "r")) {
freopen (task".inp", "r", stdin);
freopen (task".out", "w", stdout);
}
int n, D;
cin >> n >> D;
int x;
cin >> x;
int res;
deque <pii> dq; // val, id
dq.push_back ({0, 1});
for (int i = 2; i <= n; i ++) {
cin >> x;
if (!dq.empty () && dq.front ().se < i - D) {
dq.pop_front ();
}
res = dq.front ().fi + (1 - x);
while (!dq.empty () && dq.back ().fi >= res) {
dq.pop_back ();
}
dq.push_back ({res, i});
}
cout << res;
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |