Pagini recente » Cod sursa (job #1247996) | Cod sursa (job #179205) | Clasament laborator_9a_azzi | Cod sursa (job #292096) | Cod sursa (job #1251492)
#include <bits/stdc++.h>
using namespace std;
const int MAXN = 5000005;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n, k, A[MAXN], Deque[MAXN];
int Front, Back, sum;
int main()
{
fin >> n >> k;
for (int i = 1; i <= n; ++i)
fin >> A[i];
Front = 1, Back = 0;
for (int i = 1; i <= n; ++i)
{
while (Front <= Back && A[i] <= A[ Deque[Back] ])
--Back;
Deque[++Back] = i;
if (Deque[Front] == i - k) ++Front;
if (i >= k) sum += A[ Deque[Front] ];
}
fout << sum;
fin.close(); fout.close();
return 0;
}