Cod sursa(job #1532860)

Utilizator alittlezzCazaciuc Valentin alittlezz Data 21 noiembrie 2015 18:15:36
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>
#define pb push_back
#define mp make_pair
using namespace std;

int main()
{
    int n,i,s,bests,idx,e,b,x,mn;
    bests = -(2e9+7);
    s = 0;
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
    scanf("%d",&n);
    mn = 2e9+7;
    b = e = idx = 1;
    for(i = 1;i <= n;i++){
        scanf("%d",&x);
        s += x;
        if(s-(mn == 2e9+7 ? 0 : mn) > bests){
            bests = s-(mn == 2e9+7 ? 0 : mn);
            b = idx;
            e = i;
        }
        if(mn > s && i != n){
            mn = s;
            idx = i+1;
        }
    }
    printf("%d %d %d",bests,b,e);
    return 0;
}