Cod sursa(job #550004)

Utilizator spulbarSpulbar Adrian spulbar Data 9 martie 2011 09:46:51
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
long long v[6000001],sum[6000001],sm,p,u,min1,n,best[6000001],i;
int main(){
	f>>n;
	for(i=1;i<=n;++i){
		f>>v[i];
	sum[i]=v[i]+sum[i-1];
	}
	sm=-(1<<31);
	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;
		}
	}
	g<<sm<<' '<<p<<' '<<u<<'\n';
	g.close();
	return 0;
}