Cod sursa(job #443598)

Utilizator sebe14Moraru Sebastian sebe14 Data 17 aprilie 2010 18:08:31
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
#include<limits>
#define NM 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int v[NM];
int main()
{
	int n,i,start,end,smax,sl,el,sc;
	f>>n;
	for(i=1; i<=n; i++)
		f>>v[i];
	smax=INT_MIN;
	sc=v[1];
	sl=1;
	el=1;
	for(i=2; i<=n; i++)
		if(sc<0){
			sl=i;
			el=i;
			sc=v[i];
		}
		else{
			sc+=v[i];
			el=i;
			if(smax<sc){
				smax=sc;
				start=sl;
				end=el;
			}
		}
	g<<smax<<" "<<start<<" "<<end;
	return 0;
}