Cod sursa(job #797159)

Utilizator mariamFiciu Maria mariam Data 13 octombrie 2012 15:38:18
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.45 kb
#include<fstream>
using namespace std;
int pimax,pfmax,pi,v[6000005],D[6000005],n,maxim,i;
int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	f>>n;
	for(i=1;i<=n;i++)
		f>>v[i];
	D[1]=v[1];
	pi=1;
	for(i=2;i<=n;i++)
	{
		if(D[i-1]+v[i]>v[i])
			D[i]=D[i-1]+v[i];
		else 
		{
			D[i]=v[i];
			pi=i;
		}
		if(D[i]>maxim)
		{
			maxim=D[i];
			pimax=pi;
			pfmax=i;
		}
	}
	g<<maxim<<" "<<pimax<<" "<<pfmax;
	return 0;
}