Cod sursa(job #2288414)

Utilizator S_DanSochirca Dan S_Dan Data 23 noiembrie 2018 12:53:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.56 kb
#include <bits/stdc++.h>
using namespace std;
int s[6000020], n, suma,inc=1,sf=1,smax;
ifstream fi("ssm.in");
ofstream fo("ssm.out");

int main(){
    fi>>n;
    for (int i=1;i<=n;i++) fi>>s[i];

    smax=s[1];
    suma=s[1];
    inc = 1; sf = 1;
    for (int i=2;i<=n;i++){
        if(suma>=0) suma+=s[i]; else suma=s[i];
        if(suma>smax){
            sf = i;
            smax=suma;
        }
    }
    suma=s[sf];
    for(int i=sf-1;i>=1;i--){
        if(suma==smax) inc=i+1;
        suma+=s[i];
    }
    fo<<smax<<" "<<inc<<" "<<sf;
}