Cod sursa(job #667068)

Utilizator narcis_vsGemene Narcis - Gabriel narcis_vs Data 22 ianuarie 2012 16:22:31
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<fstream>

using namespace std;
int a[60002];
int sum[60002];
int best[60002];
int main()
{
	int n,i,bestSum,minim,dr,st;
	ifstream fin("ssm.in");
	fin>>n;
	for(i=1;i<=n;i++)
		fin>>a[i];
	sum[0] = 0;
	for (i = 1; i <= n; i++)
		sum[i] = a[i] + sum[i-1];
	dr=0;
	st=0;
	minim = sum[0];
	bestSum = -999999999;
	for (i = 1; i <= n; i++) 
	{
		best[i] = sum[i] - minim;
		if (minim > sum[i]) 
		{
			minim = sum[i];
			st=i;
		}	
		if (bestSum < best[i]) 
		{
			bestSum = best[i];
			dr=i;
		}
	}
	ofstream fout("ssm.out");
	fout<<bestSum<<" "<<st<< " "<<dr;
	fout<<"\n";
	fout.close();
	return 0;
}