Pagini recente » Cod sursa (job #1561285) | Cod sursa (job #102774) | Cod sursa (job #876129) | Cod sursa (job #1384024) | Cod sursa (job #1052044)
#include<stdio.h>
FILE*f,*g;
int main()
{
int A[5000000],N,deque[5000000],K,sfarsit=1,inceput=0,i,Suma;
f=fopen("deque.in","r");
g=fopen("deque.out","w");
if(f!=NULL)
{
fscanf(f,"%d",&N);
fscanf(f,"%d",&K);
for(i=0;i<N;i++)
fscanf(f,"%d",&A[i]);
}
for(i=0;i<N;i++)
{
while(sfarsit<=inceput && A[i]<=A[deque[inceput]])
inceput=inceput-1;
deque[++inceput]=i;
if(deque[sfarsit]==i-K)
sfarsit=sfarsit+1;
if(i>=K)
Suma=Suma+A[deque[sfarsit]];
}
printf("Suma ceruta este %d ",Suma);
return 0;
}