Cod sursa(job #434270)

Utilizator crushackPopescu Silviu crushack Data 5 aprilie 2010 15:40:47
Problema Secventa 2 Scor 80
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include <stdio.h>
//#include <time.h>
#define lung 50000

int a[lung];
int abs(int);

int main()
{
	int n,k,i,j,su,s,x,y,pi,pj;
	int max;
	//time_t sec=clock();
	freopen("secv2.in","r",stdin);
	freopen("secv2.out","w",stdout);
	scanf("%d%d",&n,&k);
	pi=pj=-1;
	for (i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
		if (i) a[i]+=a[i-1];
		if (i>=k-1)
		{
			if (pi==-1 || a[i]>max) max=a[i],pi=1,pj=i+1;
			for (j=0;i-j>=k;j++)
				if (pi==-1 ||a[i]-a[j]>max)
					pi= j+2,pj=i+1,max=a[i]-a[j];
		}
	}
	printf("%d %d %d\n",pi,pj,max);
	//printf("%d",(clock()-sec));
	return 0;
}

int abs(int a)
{
	return (a<0) ? -a : a;
}