Pagini recente » Cod sursa (job #2181823) | Cod sursa (job #3002099) | Cod sursa (job #645574) | Cod sursa (job #1535723) | Cod sursa (job #815891)
Cod sursa(job #815891)
#include <cstdio>
using namespace std;
FILE *f,*g;
int deque [5000001],a[500001],k,n,front,back,i;
long long s;
int main()
{f=fopen ("deque.in","r");
g=fopen ("deque.out","w");
fscanf (f,"%d %d",&n,&k);
for (i=1;i<=n;i++) fscanf (f,"%d",&a[i]);
front=1;
back=0;
for (i=1;i<=n;i++)
{
while (front<=back && a[i]<a[deque[back]]) back--;
deque [++back]=i;
if (deque[front]==i-k) front ++;
if (i>=k) s+=a[deque[front]];
}
fprintf (g,"%lld",s);
return 0;
}