Cod sursa(job #549989)

Utilizator blaga_emilianBlaga Mihai Emilian blaga_emilian Data 9 martie 2011 09:40:11
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
//subsir crescator maximal
#include<fstream>
using namespace std;
ifstream q("ssm.in");
ofstream w("ssm.out");
int v[6000001],n,i,s,sm,p,u,min1,sum[6000001], best[6000001];
int main(){
	q>>n;
	for(i=1;i<=n;++i){
		q>>v[i];
		sum[i]=v[i]+sum[i-1];
	}
	p=u=0;
	sm=-(1<<15);
	for(i=1;i<=n;++i){
		best[i]=sum[i]-min1;
		if(min1>sum[i]){
			min1=sum[i];
			p=i+1;
		}
		if(sm<best[i]){
			sm=best[i];
			u=i;
		}
	}
	w<<sm<<' '<<p<<' '<<u<<'\n';
	w.close();
	return 0;
}