Cod sursa(job #261017)

Utilizator gabor_oliviu1991gaboru corupt gabor_oliviu1991 Data 17 februarie 2009 20:09:55
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream.h>

int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");

	long a[6000005],s=0,max=-12500000;
	unsigned int n,k,i,poz_st,poz_dr;

	f>>n>>k;

	for(i=1;i<=n;i++)
		f>>a[i];

	for(i=1;i<=n;i++)
		{
		s+=a[i];
		if(s>max)
		       max=s,poz_dr=i;
		}
	max=-12500000;s=0;
	for(i=poz_dr;i>=1;i--)
		{
		s+=a[i];
		if(s>max)
		       max=s,poz_st=i;
		}
	if(poz_dr-poz_st<k)
		poz_dr+=k-1;
	s=0;
	for(i=poz_st;i<=poz_dr;i++)
		s+=a[i];
	
	g<<s<<" "<<poz_st<<" "<<poz_dr;
	return 0;
}