Cod sursa(job #1316033)

Utilizator GrandmasterSoucup Bogdan Grandmaster Data 13 ianuarie 2015 14:27:03
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.86 kb
#include<fstream>
using namespace std;
const int Max = 6000006;
int x[Max];
int main()
{
    long long n, sum, max, i, car=0, u = 0, sul;
    long long smax = -1<<30, black, fat;
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f >> n;
    for (i = 0; i < n; i++)
    {
        f >> x[i];
        if(smax < x[i])
        {
        	smax = x[i];
        	black = i;
        }
    }
    sum = x[0];
    max = x[0];
    for (i = 1; i < n; i++)
    {
        if (sum + x[i]>=max) {
            max = sum + x[i];   u = i;
        }
        if (sum + x[i] >= x[i]) {
            sum = x[i] + sum;
        }
        else {
            car = i;
            sum = x[i];
        }
    }
    if(smax > max)
    {
    	g << smax << " " << black + 1 << " " << black + 1;
    	return 0;
    }
    g << max << " " << car + 1 << " " << u + 1 << endl;
}