Cod sursa(job #2080987)

Utilizator Cristian25Cristian Stanciu Cristian25 Data 3 decembrie 2017 18:48:05
Problema Subsecventa de suma maxima Scor 60
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
//Enunt: http://www.infoarena.ro/problema/ssm
#include <iostream>
#include <fstream>

using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int smax[6000001],N,sol,st,fin=1;
int main()
{
    in>>N;
    int A[N+1];
    for(int i=1;i<=N;++i)
    {
        in>>A[i];
        smax[i]=max(smax[i-1]+A[i],A[i]);
    }
    sol=smax[1];
    for(int i=2;i<=N;++i)
        if(smax[i]>sol)
        {
            sol=smax[i];
            fin=i;
        }
    out<<sol<<' ';
    st=fin;
    while(sol>0)
    {
        sol-=A[st];
        --st;
    }
    out<<1+st<<' '<<fin;
    return 0;
}