Pagini recente » Cod sursa (job #2331999) | Cod sursa (job #1974722) | Cod sursa (job #1701998) | Cod sursa (job #1392816) | Cod sursa (job #2724341)
#include <iostream>
#include <fstream>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
int coada[5000000],poz[5000000];
int main()
{
int N,K,x,first,last;
first=0;
last=0;
long long sol=0;
f>>N>>K;
for (int i=1; i<=N; i++)
{
f>>x;
while (poz[first]<=i-K && first+1<=last)
first++;
while (coada[last-1]>=x && last-1>=first)
last--;
coada[last]=x;
poz[last++]=i;
if (i-K>=0)
sol+=coada[first];
}
g<<sol;
}