Cod sursa(job #528061)

Utilizator tudorsTudor Siminic tudors Data 1 februarie 2011 20:52:06
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.52 kb
#include <stdio.h>
#include <algorithm>
#include <fstream>
using namespace std;
int n,i,inc,sf,ma,b;
int best,x,ix;

const char iname[]="ssm.in";
const char oname[]="ssm.out";

int main()
{
	ifstream in (iname);
	in>>n;
	best=-int(2e9);
	b=0;
	inc=sf=ix=1;
	for (i=1;i<=n;++i)
	{
		in>>x;
		if (b<0)
		{
			b=x;
			ix=i;
		}
		else
			b+=x;
		if (b>best)
		{
			best=b;
			inc=ix;
			sf=i;
		}
	}
	ofstream out(oname);
	out<<best<<" "<<inc<<" "<<sf;
	in.close();
	out.close();
	return 0;
}