Pagini recente » Cod sursa (job #885711) | Cod sursa (job #1488401) | Cod sursa (job #2098279) | Cod sursa (job #2026555) | Cod sursa (job #3309843)
#include <bits/stdc++.h>
using namespace std;
using int64 = long long;
const int N_MAX = 5e6;
ifstream fin ("deque.in");
ofstream fout ("deque.out");
int v[1 + N_MAX];
int main()
{
int N, K; fin >> N >> K;
for (int i = 1;i <= N; i ++)
fin >> v[i];
int64 sum = 0;
deque<int> dq;
for (int i = 1; i <= N; i ++) {
while (!dq.empty () && v[i] <= v[dq.back ()])
dq.pop_back ();
dq.push_back (i);
if (dq.front () == i - K)
dq.pop_front ();
if (i >= K)
sum += v[dq.front ()];
}
fout << sum;
return 0;
}