Cod sursa(job #462305)

Utilizator DEYDEY2Tudorica Andrei DEYDEY2 Data 10 iunie 2010 12:55:02
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include<fstream>
using namespace std;

int st,dr,n,i,x[6000001],maxim,max1=0,max2=0,s,j;

int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	f>>n>>x[1];
	maxim=x[1];
	for(i=1;i<=n;i++)
		f>>x[i];
	for(i=1;i<n;i++){ if(x[i]>maxim){ maxim=x[i]; max1=i; max2=i;}}
	if(maxim>0)
	{
		maxim=0;
		s=0;
		st=1;
		 for(dr=j;dr<=n;dr++)
		 {	 
			 s=s+x[dr];
			 if(s<0)
			 {
				   s=0;
				   max1=st;
				   max2=dr-1;
				   maxim=s-x[dr];
			 }
		 }
	}
	if(maxim<0)
	{
		for(i=1;i<n;i++){ if(x[i]>maxim){ maxim=x[i]; max1=i; max2=i;}} 
	}	
	else g<<maxim<<' '<<max1<<' '<<max2;  
	f.close();
	g.close();
	return 0;
}