Cod sursa(job #1781899)

Utilizator AlexandruRudiAlexandru Rudi AlexandruRudi Data 17 octombrie 2016 16:33:15
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include <bits/stdc++.h>

using namespace std;

long long n, b, bp, m, mp, mi, t, s, i1, i2;

int main()
{
    ios_base :: sync_with_stdio(0);
    freopen("ssm.in","r",stdin);
    ofstream out("ssm.out");
    scanf("%d",&n);
    mp=1e18;
    s=-1e18;
    int c;
    bool change;
    for(int i=1;i<=n;i++){
        change=true;
        scanf("%d",&c);
        b+=c;
        if(m==b) change=false;
        m=min(m,b);
        if(m==b && change) mi=i;
        t=b-m;
        if(t>s || (t==s && (i-mi-1)>i2-i1)) s=t, i1=mi+1, i2=i;
    }
    out << s << ' ' << i1 << ' ' << i2;
}