Pagini recente » Cod sursa (job #516656) | Cod sursa (job #2227333) | Cod sursa (job #2228444) | Cod sursa (job #236279) | Cod sursa (job #2728809)
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream fin("deque.in");
ofstream fout("deque.out");
int N, K, fr = 0, bk = -1, sum = 0;
fin>>N>>K;
int* a = new int[N];
int* dq = new int[N];
for (int i = 0; i < N; i++)
fin>>a[i];
for (int i = 0; i < N; i++)
{
while (fr <= bk && a[i] <= a[dq[bk]])
bk--;
dq[++bk] = i;
if (dq[fr] == i - K)
fr++;
if (i>=K-1)
sum += a[dq[fr]];
}
fout<<sum;
fin.close();
fout.close();
}