Cod sursa(job #1870271)

Utilizator bananamandaoneTudor Cosmin Oanea bananamandaone Data 6 februarie 2017 15:36:47
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include <fstream>

using namespace std;

int a[6000003];

int main()
{
    int n,i,st,stmax,dr,drmax;
    long long s,smax;
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin>>n;
    for(i=1;i<=n;i++) fin>>a[i];
    s = smax = 0;
    st = 1;
    for(i=1;i<=n;i++)
    {
        s=s+1LL*a[i];
        dr = i;
        if(s>smax)
        {
            smax = s;
            stmax = st;
            drmax = dr;
        }
        if(s<0LL)
        {
            s = 0LL;
            st = dr = i+1;
        }
    }
    fout<<smax<<" "<<stmax<<" "<<drmax;
    fin.close();
    fout.close();
    return 0;
}