Cod sursa(job #1744331)

Utilizator MickeyTurcu Gabriel Mickey Data 19 august 2016 16:59:17
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.7 kb
#include<fstream>
#include<string.h>
#include<ctype.h>
#include<iostream>
#include<algorithm>
#include<map>
#include<unordered_map>
#include<array>
#include<deque>
#include<unordered_set>
#include<set>
#include<math.h>
using namespace std;
long long n, best[6000010], i, el, max1,poz,sf;
int main()
{
	ifstream f("ssm.in");
	ofstream g("ssm.out");
	f >> n;
	f >> best[1];
	max1 = best[1];
	for (i = 2; i <= n; i++)
	{
		f >> el;
		if (best[i-1]+el > el)
			best[i] = best[i - 1] + el;
		else
			best[i] = el;
		if (best[i] > max1)
		{
			max1 = best[i];
			poz = i;
		}
	}
	sf = poz;
	while (best[poz] >= 0)
	{
		poz--;
	}
	poz++;
	g << max1<<" "<<poz<<" "<<sf;
	return 0;
}