Cod sursa(job #1643864)

Utilizator Vlad_lsc2008Lungu Vlad Vlad_lsc2008 Data 9 martie 2016 20:29:10
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 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(nr>best && best<0)
        {
             best=nr; ini=i; fi=i;
             if(best>maxi) { maxi=best; init=i; fin=fi; }

        }
        else
        {
            best+=nr; fi=i;
            if(best>maxi) { maxi=best; init=ini; fin=fi;}
        }
    }
    cout<<maxi<<' '<<init<<' '<<fin<<'\n';
    fclose(stdin);
    fclose(stdout);
    return 0;
}