Cod sursa(job #861588)

Utilizator AllenSmailovic Alen Allen Data 21 ianuarie 2013 19:01:38
Problema Subsecventa de suma maxima Scor 90
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;
    fin>>n;
    for (int i=1;i<=n;i++) {
        fin>>a[i];
        x[i]=a[i];
        if (a[i]<a[i]+a[i-1])
            a[i]=a[i]+a[i-1];
        if (sum<a[i]) {
            sum=a[i];
            pf=i;
        }
    }
    fout<<sum<<" ";
    pi=pf;
    while (sum) {
        sum=sum-x[pi];
        pi--;
    }
    fout<<pi+1<<" "<<pf;

    return 0;
}