Cod sursa(job #625549)

Utilizator ml.vladareanVladarean Maria ml.vladarean Data 24 octombrie 2011 21:58:41
Problema Deque Scor 25
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <stdio.h>
int N,K,A[5000000],Deque[5000000],min,suma,start=1,end=0;

void deque()
{
	
for(int i=1;i<=N;i++)
{
	while(start<=end && A[i]<=A[Deque[end]])
		end--;
	//end++;
	Deque[++end]=i;
	if(Deque[end]-Deque[start]==K)
		start++;

	if(i>=K)
		suma+=A[Deque[start]];

	
}

}

int main()
{
FILE *R,*W;
R=fopen("deque.in","r");
W=fopen("deque.out","w");
fscanf(R,"%d",&N);
fscanf(R,"%d",&K);
for(int i=1;i<=N;i++)
	fscanf(R,"%d",&A[i]);

deque();
fprintf(W,"%d",suma);
fclose(R);
fclose(W);
return 0;
}