Pagini recente » Cod sursa (job #65762) | Cod sursa (job #2822836) | Cod sursa (job #1286242) | Cod sursa (job #1445578) | Cod sursa (job #3127501)
#include <iostream>
#include <fstream>
using namespace std;
int v[5000001], Deque[5000001], st, dr, N, K;
ifstream f ("deque.in");
ofstream g ("deque.out");
long long S;
int main()
{
int i;
f>>N>>K;
for(i=1; i<=N; i++)
f>>v[i];
st=1;
dr=0;
for(i=1; i<=N; i++)
{
while((st<=dr)&&(v[i]<=v[Deque[dr]]))
dr--;
Deque[++dr]=i;
if(Deque[st]==i-K)
st++;
if(i>=K)
S+=v[Deque[st]];
}
g<<S;
return 0;
}