Cod sursa(job #861623)

Utilizator AllenSmailovic Alen Allen Data 21 ianuarie 2013 19:38:34
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.55 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

long a[6000001], x[6000001];

int main()
{
    long n,sum=0,pi,pf=1;
    fin>>n;
    for (int i=1;i<=n;i++) {
        fin>>a[i];
        x[i]=a[i];
        if (a[i]<x[i]+a[i-1])
            a[i]=x[i]+a[i-1];
        if (sum<a[i]) {
            sum=a[i];
            pf=i;
        }
    }
    fout<<sum<<" ";

    pi=pf;
    sum-=x[pi];
    while (sum)
        sum-=x[pi--];

    fout<<pi<<" "<<pf;

    return 0;
}