Cod sursa(job #1848305)

Utilizator lauratalaatlaura talaat lauratalaat Data 15 ianuarie 2017 19:35:00
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.63 kb
#include<stdio.h>
int d[6000001],inc[6000001];
int main(){
    int n,nr,i,poz,maxim;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d",&n);
    scanf("%d",&nr);
    d[1]=nr;
    inc[1]=1;
    for(i=2;i<=n;i++){
        scanf("%d",&nr);
        if(d[i-1]+nr>=nr){
            d[i]=d[i-1]+nr;
            inc[i]=inc[i-1];
        }
        else{
            d[i]=nr;
            inc[i]=i;
        }
    }
    maxim=-999999999;
    for(i=1;i<=n;i++)
        if(d[i]>maxim){
            maxim=d[i];
            poz=i;
        }
    printf("%d %d %d",maxim,inc[poz],poz);
    return 0;
}