Cod sursa(job #1248775)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 25 octombrie 2014 22:53:52
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int n,i,p,u,maxim,pmax,umax;
int v[6000001] , d[6000001];
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;u=1;
    for (i=2;i<=n;i++) {
       if (v[i]+d[i-1]>=v[i]) {
            d[i]=v[i]+d[i-1];
       } else {
            d[i]=v[i];
            p=i;
       }
       if (d[i]>maxim) {
            maxim=d[i];
            pmax=p;
            umax=i;
       }
    }
    fout<<maxim<<" "<<pmax<<" "<<umax<<"\n";

    return 0;
}