Cod sursa(job #1189395)

Utilizator GabyGabyGabriel Tuculina GabyGaby Data 22 mai 2014 18:34:09
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.78 kb
#include<fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n, i, j, v[6000001], d[6000001], maxim, p, pmax, umax;

int main(){
    fin>>n;
    for(i=1; i<=n; i++)
        fin>>v[i];
    d[1]=v[1];
    maxim=d[1];
    pmax = 1;
    umax = 1;
    p = 1;
    for(i=2; i<=n; i++){
        if(d[i-1]+v[i]>v[i]) {
            d[i]=d[i-1]+v[i];
        } else {
            d[i]=v[i];
            p = i;
        }
        if(maxim<d[i]) {
            maxim=d[i];
            pmax = p;
            umax = i;
        } else
            if (maxim == d[i] && i-p < umax - pmax) {
                maxim=d[i];
                pmax = p;
                umax = i;

            }
    }
    fout<<maxim<<" "<<pmax<<" "<<umax;

    return 0;
}