Cod sursa(job #700715)

Utilizator manutrutaEmanuel Truta manutruta Data 1 martie 2012 11:40:46
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include<iostream>
#include<fstream>
using namespace std;
int n,i,a[6000005],mx,j,c1,c2,s,l,best[6000005];
int main()
{

	ifstream f("ssm.in");
	ofstream g("ssm.out");
	
	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];
	if(a[1]>0)
		best[1]=a[1];
	for(i=2;i<=n;i++)
		if(best[i-1]+a[i]>0)
			best[i]=a[i];
	for(i=1;i<=n;i++)
		if(best[i]>mx)
		{
			s=0;
			mx=a[i];
			c2=i;
			for(j=i;j>=1;j--)
			{
				s+=a[i];
				if(s==mx)
					c1=j;
			}
		}
	g<<mx<<' '<<c1<<c2;
	
	f.close();
	g.close();
	return 0;
}