Pagini recente » Cod sursa (job #957668) | Cod sursa (job #1817521) | Cod sursa (job #2587325) | Cod sursa (job #1498459) | Cod sursa (job #815902)
Cod sursa(job #815902)
#include <cstdio>
using namespace std;
FILE *f,*g;
int deque [5000001],a[5000001],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;
}