Cod sursa(job #588485)

Utilizator t2011tVasilescu Popescu t2011t Data 8 mai 2011 11:47:51
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <fstream>
using namespace std;

int n,a[6000000];
int best[6000000],best_sum,l_dv,l,r;

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

int i1;

//citire
in>>n;
for(i1=0;i1<n;i1++)
	in>>a[i1];
//

best_sum = a[0];

for(i1=0;i1<n;i1++)
	{
	best[i1] = a[i1];
	if(best[i1] < best[i1-1] + a[i1])
		best[i1] = best[i1-1] + a[i1];
	else
		l_dv = i1; //l - de validat

	if(best_sum < best[i1])
		{
		best_sum = best[i1];
		r = i1;
		l = l_dv; // validam pozitia
		}
	}

out<<best_sum<<' '<<l+1<<' '<<r+1;

in.close();
out.close();
return 0;
}