Cod sursa(job #117372)

Utilizator alexeiIacob Radu alexei Data 21 decembrie 2007 12:15:35
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<stdio.h>

int main(){
	
	int n,k,a[50001],smax=-1300000000,s,sk=0;
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	scanf("%d%d",&n,&k);
	
	for(int i=1; i<=n; i++)
		scanf("%d",&a[i]);
		
	int p=1,aa,b;
	for(int j=1; j<k; j++)
		sk+=a[j];
	s=sk;
	p=1;
	for(int i=k; i<=n; i++)
	{
			//printf("%d sk=%d, s=%d, smax=%d\n",i,sk,s,smax);
		    if(sk>s){
				s=sk+a[i];
	            p=i-k+1;
			}
			else
				s+=a[i];
			
			sk=sk-a[i-k+1]+a[i];
			
			if(s>smax){
				smax=s;
				aa=p;
				b=i;
			}
	}
	printf("%d %d %d\n",aa,b,smax);
	fclose(stdin);
	fclose(stdout);
	return 0;
}