Cod sursa(job #1989974)

Utilizator rebecca0312Andrei Rebecca rebecca0312 Data 9 iunie 2017 19:20:53
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.59 kb
#include<cstdio>
using namespace std;
const int NMAX=6000005;
int v[NMAX];
int main(){
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n;
    scanf("%d", &n);
    for(int i=1;i<=n;i++)
        scanf("%d", &v[i]);
    int sc=v[1],smax=v[1];
    int st=1,dr=1,ic=1;
    for(int i=2;i<=n;i++){
        if(sc+v[i]>=v[i])
            sc+=v[i];
        else{
            sc=v[i];
            ic=i;
        }
        if(sc>smax){
            smax=sc;
            st=ic;
            dr=i;
        }
    }
    printf("%d %d %d", smax, st, dr);
    return 0;
}