Cod sursa(job #268195)

Utilizator luk17Luca Bogdan luk17 Data 28 februarie 2009 21:51:42
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.46 kb
#include<fstream>
using namespace std;
#define max(a,b) a>b?a:b
int n,a[6000001];
int main()
{
	int max_abs,poz,best,i;
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	f>>n;
	for(i=1;i<=n;i++)
		f>>a[i];
	best=a[1];
	max_abs=a[1];
	poz=1;
	for(i=2;i<=n;i++)
	{
		best=max(best+a[i],a[i]);
		if(best>max_abs)
		{
			max_abs=best;
			poz=i;
		}
	}
	best=max_abs;
	for(i=poz;best;i--)
		best-=a[i];
	g<<max_abs<<" "<<i+1<<" "<<poz;
	
	return 0;
}