Cod sursa(job #866015)

Utilizator AllenSmailovic Alen Allen Data 27 ianuarie 2013 14:14:57
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.53 kb
#include <iostream>
#include <fstream>

using namespace std;

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

long a[6000005], x[6000005];

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 (x[i]<a[i]+x[i-1])
            x[i]=a[i]+x[i-1];
        if (sum<x[i]) {
            sum=x[i];
            pf=i;
        }
    }
    fout<<sum<<" ";

    pi=pf+1;
    do sum-=x[--pi];
    while(sum);
    fout<<pi<<" "<<pf;

    return 0;
}