Cod sursa(job #331386)

Utilizator bog29Antohi Bogdan bog29 Data 13 iulie 2009 21:08:30
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.56 kb
#include<fstream>
#define dmax 6000003
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,pr[dmax],p,u;
long int temp[dmax],mx=-1,a;
int main()
{	int i;
	in>>n;
	for(i=1;i<=n;i++)
	{	in>>a;
		if(i==1)
		{	temp[i]=a;	
			pr[i]=1;
		}	
		else
		{	temp[i]=max(a,a+temp[i-1]);	
			if(temp[i]==a)
				pr[i]=i;
			else if(temp[i]==a+temp[i-1])
				pr[i]=pr[i-1];
		}
	}	
	in.close();
	for(i=1;i<=n;i++)
		if((temp[i]>mx)||(mx==-1))	
		{	mx=temp[i];
			p=pr[i];
			u=i;
		}	
	out<<mx<<" "<<p<<" "<<u;
	out.close();
}