Pagini recente » Cod sursa (job #1606903) | Cod sursa (job #607695) | Cod sursa (job #2593355) | Cod sursa (job #2781707) | Cod sursa (job #688811)
Cod sursa(job #688811)
#include<stdio.h>
#include<deque>
#define MAX 5000005
using namespace std;
long long int N,K,v[MAX],S=0;
deque<int>COADA;
void deschidere()
{
freopen("deque.in","r",stdin);
freopen("deque.out","w",stdout);
}
void citire()
{
scanf("%lld%lld",&N,&K);
for(int i=0;i<N;i++)
scanf("%lld",&v[i]);
}
void rezolvare()
{
int i;
for(i=0;i<N;i++)
{
while( COADA.size() && v[i]<v[COADA.back()] )
COADA.pop_back();
COADA.push_back(i);
if(COADA.front() == i-K)
COADA.pop_front();
if(i>=K-1)
S+=v[COADA.front()];
}
printf("%lld",S);
}
int main()
{
deschidere();
citire();
rezolvare();
return 0;
}