Cod sursa(job #658866)

Utilizator federerUAIC-Padurariu-Cristian federer Data 9 ianuarie 2012 18:50:31
Problema Subsecventa de suma maxima Scor 30
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include<fstream>
using namespace std;

long long best[50001], i, v[50001], n, k, M=-100000000, poz;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
	fin>>n;
	for(i=1;i<=n;i++)
		fin>>v[i];
	
	for(i=1;i<=n;i++)
	{
		if(v[i]>=best[i-1]+v[i])
			best[i]=v[i];
		else
			best[i]=best[i-1]+v[i];
		if(M<best[i])
		{
			M=best[i];
			poz=i;
		}
	}
	i=poz-1;
	while(v[i]!=best[i])
		i--;
	fout<<M<<' '<<i<<' '<<poz<<'\n';
	
	fin.close();
	fout.close();
	return 0;
}