Pagini recente » Statistici Schuszter Ioan-Cristian (saibot94) | Grigore Moisil 2011 | Cod sursa (job #1354491) | Cod sursa (job #142464) | Cod sursa (job #3196040)
#include <bits/stdc++.h>
const int NMAX = 5e6 + 5;
int n, k, v[NMAX];
std :: deque < int > dq;
long long ans;
std :: ifstream fin("deque.in");
std :: ofstream fout("deque.out");
int main() {
fin >> n >> k;
for (int i = 1; i <= n; ++ i) {
fin >> v[i];
}
for (int i = 1; i <= k; ++ i) {
while (!dq.empty() && v[i] < dq.back()) {
dq.pop_back();
}
dq.push_back(v[i]);
}
ans += dq.front();
for (int i = k + 1; i <= n; ++ i) {
while (!dq.empty() && v[i] < dq.back()) {
dq.pop_back();
}
dq.push_back(v[i]);
if (!dq.empty() && dq.front() == v[i - k]) {
dq.pop_front();
}
ans += dq.front();
}
fout << ans << "\n";
return 0;
}