Cod sursa(job #934697)

Utilizator diana20Dersedan Diana diana20 Data 31 martie 2013 00:53:44
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include<fstream>
#include<iostream>
using namespace std;
int n,i,aux,v[6000002],maxim,k,j,k2;
int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	f>>n;
	maxim=-(1<<30);
	k=1;
	for(i=1;i<=n;i++)
	{
		f>>aux;
		v[i]=aux+v[i-1];
	//	cout<<v[i]<<" ";
	}
	//cout<<endl;
	for(i=1;i<=n;i++)
	{
		if(v[i]-v[0]>maxim)
		{
			maxim=v[i]-v[0];
			k2=k;
			j=i;
			if(j-k2<=0) 
				j=k2;
		}
		if(v[0]>v[i]) 
		{
			v[0]=v[i];
		//	cout<<v[0]<<endl;
			k=i+1;
		}
		
		//cout<<j<<" "<<k2<<endl;
	}
	g<<maxim<<" "<<k2<<" "<<j;
	return 0;
}