Cod sursa(job #722293)

Utilizator alexpetrescuAlexandru Petrescu alexpetrescu Data 24 martie 2012 16:13:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<fstream>
using namespace std;
int v[6000001];
int main(){
	int sc=-1,smax=-1000000000,n,i,stc,stmax,drmax;
	ifstream in("ssm.in");
	ofstream out("ssm.out");
	in>>n;
	for(i=1;i<=n;i++)
		in>>v[i];
	//for(i=1 ; i<=n ; i++)
		//out << v[i] << " ";
	//out << "\n";
	for(i=1;i<=n;i++){
		if(sc<0){
			sc=0;
			stc=i;
		}
		sc=sc+v[i];
		//out << "la pasul " << i << " am citit " << v[i] << " sc = " << sc << ", stc = " << stc << "\n";
		if(sc>smax){
			stmax=stc;
			drmax=i;
			smax=sc;
		}
	}
	out<<smax<<' '<<stmax<<' '<<drmax;
	in.close();
	out.close();
	return 0;
}