Pagini recente » Cod sursa (job #1498000) | Cod sursa (job #912903) | Cod sursa (job #1573682) | Cod sursa (job #1835817) | Cod sursa (job #2615276)
#include<cstdio>
#include<deque>
#include<queue>
using namespace std;
FILE*in=fopen("deque.in","r");
FILE*out=fopen("deque.out","w");
struct p
{
int nr,poz;
};
p t;
deque<p> d;
int N,K,i,a;
long long s;
int main()
{
fscanf(in,"%d%d",&N,&K);
for(i=1;i<=N;i++)
{
fscanf(in,"%d",&a);
while(!d.empty()&&d.back().nr>=a)
{
d.pop_back();
}
t.nr=a;
t.poz=i;
d.push_back(t);
if(d.front().poz==i-K)
{
d.pop_front();
}
if(i>=K)
{
s=s+d.front().nr;
}
}
fprintf(out,"%lld",s);
}