Cod sursa(job #1649805)

Utilizator Vlad_lsc2008Lungu Vlad Vlad_lsc2008 Data 11 martie 2016 15:10:43
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 kb
#include <cstdio>
#include <iostream>
using namespace std;

int main()
{
    int i,n,nr,init,fin,maxi=-0x7fffffff,best,ini,fi;
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    scanf("%d%d",&n,&nr);
    init=1; fin=1; best=nr; maxi=nr; ini=1; fi=1;
    for(i=2;i<=n;i++)
    {
        scanf("%d",&nr);
        if(maxi>0) { maxi+=nr; fin=i; }
        else
            if(nr>maxi)
            {
                maxi=nr; init=i; fin=i;
            }
            else
            {
                maxi+=nr; fin=i;
            }
        if(maxi>best) { ini=init; fi=fin; best=maxi;}

    }
    cout<<best<<' '<<ini<<' '<<fi<<'\n';
    fclose(stdin);
    fclose(stdout);
    return 0;
}