Cod sursa(job #2183651)

Utilizator DanutAldeaDanut Aldea DanutAldea Data 23 martie 2018 12:23:23
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.6 kb
#include <fstream>
#include <climits>
using namespace std;

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

int n,i,j,v[6000001],BestI,Bst,Bdr,st,dr,p[6000001],s;
long long m;

int main(){
    fin>>n;
    for(i=1;i<=n;i++){
        fin>>v[i];
    }
    m=v[1];
    dr=1;
    st=1;
    p[1]=v[1];
    for(i=2;i<=n;i++){
        p[i]=max(v[i],p[i-1]+v[i]);
        if(p[i]>m){
            m=p[i];
            dr=i;
        }
    }
    s=0;
    for(i=dr;i>=1;i--){
        s+=v[i];
        if(s==m){
            st=i;
        }
    }
    fout<<m<<" "<<st<<" "<<dr;

    return 0;
}