Cod sursa(job #664697)

Utilizator Pintilie_AndreiFII-Pintilie Andrei Pintilie_Andrei Data 20 ianuarie 2012 17:45:49
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include <fstream>
using namespace std;

int a[6000001];

int main ()
{
	int n,i,s,st,dr,maxim,p ;
	
	ifstream fin("ssm.in");
	fin>>n ;
	for (i=1; i<=n; i++)
		fin>>a[i];
	fin.close();
	
	s=a[1];
	maxim=a[1];
	st=dr=1;
	if (s<0) {s=0;p=2;}
	for (i=2; i<=n; i++)
	{
		s=s+a[i];
		if (s>maxim) {maxim=s; dr=i; st=p;}
		if (s<0) { s=0; p=i+1;}
	}
	
	ofstream fout("ssm.out");
	fout<<maxim<<" "<<st<<" "<<dr<<"\n";
	fout.close();
	
	return 0;
}