Cod sursa(job #675611)

Utilizator miha88Popescu Mihaela miha88 Data 7 februarie 2012 20:20:47
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<fstream> 
using namespace std; 
ifstream f("ssm.in"); 
ofstream g("ssm.out"); 
int s,i,n,a[6000003],smax,p,u,pr; 
int main() 
{ 
	f>>n>>a[1]; 
	p=u=1;smax=a[1];s=a[1]; 
	for(i=2;i<=n;i++)     
	{   
		f>>a[i]; 
		if(a[i]<=s+a[i])    
			{s+=a[i];}         
		else        
		{        
			s=a[i];           
			p=i; 
		}        
		if(s>smax) 
			{smax=s;u=i;pr=p;} 
		else
		{	if(s==smax) 
			if(u-pr+1>i-p+1) 
				{pr=p; u=i;}         
		}     
	} 
	g<<smax<<' '<<pr<<' '<<u;      
	return 0; 
}