Cod sursa(job #1946822)

Utilizator mirceagavrizimircea luca gavrizi mirceagavrizi Data 30 martie 2017 15:16:08
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 kb

#include<stdio.h>
using namespace std;
int main(){
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n,i,s,maxx,max2,st,dr,mst,mdr,h,ci,nr;
    scanf("%d",&n);
    s=0;
    maxx=-1;
    max2=-100000;
    st=1;
    dr=1;
    h=0;
    for(i=1;i<=n;i++){
        scanf("%d",&nr);
        if(nr<0&&nr>max2){
            max2=nr;
            ci=i;
        }
        if(nr<0)
            h++;
        s=s+nr;
        if(s<0){
            s=0;
            st=dr+1;
        }
        if(s>maxx){
            maxx=s;
            mst=st;
            mdr=dr;
        }
        dr++;
    }
    if(h==n){
        printf("%d %d %d",max2,ci,ci);
    }
    else
        printf("%d %d %d",maxx,mst,mdr);
return 0;
}