Cod sursa(job #1415902)

Utilizator cri25Berbecariu Crina cri25 Data 6 aprilie 2015 20:30:33
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>

using namespace std;

ifstream fin("secvsummax.in");
ofstream fout("secvsummax.out");

int a[6000001];

int main()
{
    int n;
    fin>>n;
    for(int i=1;i<=n;++i)
        fin>>a[i];
    int st,stg;
    int best = 0,sumbest = 0;
    int dr,drn;
    int maxim = -100000000;
    for(int i=1;i<=n;++i)
    {
        best += a[i];

        if(best < 0)
        {
            best = 0;
            st = i;
        }

        if(best > sumbest)
            sumbest  = best, dr = i, stg = st;
        if(a[i] > maxim)
            maxim = a[i],drn = i;

    }
    if(sumbest == 0)
        fout<<maxim<<" "<<drn<<" "<<drn;
    else
        fout<<sumbest<<" "<<stg + 1<<" "<<dr;
    return 0;
}