Cod sursa(job #670851)

Utilizator raduiris94Alexa Radu raduiris94 Data 30 ianuarie 2012 11:49:40
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<cstdio>
#define DN 50001
int n, k, sum[DN], a[DN], m[DN], poz[DN], mn, p, p1, p2, smax;
int main()
{
	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]); 
		sum[i]=sum[i-1]+a[i]; 
		if(sum[i]<mn)
		{ 
			mn=sum[i]; 
			p=i; 
		} 
		m[i]=mn; 
		poz[i]=p; 
	}
    if(n==k)
		printf("1 %d %d", &n, &sum[n]);
    else
    {
		for(int i=1;i<=n;++i)     
			if(i-k>0)
				if(sum[i]-m[i-k]>smax)
				{
					smax=sum[i]-m[i-k];
					p1=poz[i-k]+1;
					p2=i;
				}
		printf("%d %d %d", p1, p2, smax);  
	}       
}