Cod sursa(job #549975)

Utilizator blaga_emilianBlaga Mihai Emilian blaga_emilian Data 9 martie 2011 09:00:11
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.48 kb
//subsir crescator maximal
#include<fstream.h>
ifstream q("ssm.in");
ofstream w("ssm.out");
int v[60000001],n,i,s,sm,p,u,j;
int main(){
	q>>n;
	for(i=1;i<=n;++i)
		q>>v[i];
	sm=-(1<<31);
	p=u=0;
	for(i=1;i<=n;++i){
		s=v[i];
		if(s>sm){
			sm=s;
			p=i;
			u=i;
		}
		if(v[i]>0){
			j=i+1;
			while(j<=n&&s+v[j]>0){
				s=s+v[j];
				if(s>sm){
					sm=s;
					p=i;
					u=j;
				}
				++j;
			}
		}
	}
	w<<sm<<' '<<p<<' '<<u<<'\n';
	w.close();
	return 0;
}