Cod sursa(job #2260931)

Utilizator serban24Popovici Serban-Florin serban24 Data 15 octombrie 2018 19:23:16
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>

using namespace std;

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

int n;
int v[6000000];
int sp[6000000];

int main(){
    int i,minv=0,poz=0,dr=1,st=1,answer=INT_MIN;

    fin>>n;

    for(i=1;i<=n;i++)
        fin>>v[i];

    for(i=1;i<=n;i++){
        sp[i]=sp[i-1]+v[i];

        if(minv>sp[i]){
            minv=sp[i];
            poz=i;
        }

        if(sp[i]-minv>answer){
            answer=sp[i]-minv;
            dr=i;
            st=poz+1;
        }
    }

    fout<<answer<<" "<<st<<" "<<dr;

    return 0;
}