Cod sursa(job #2409619)

Utilizator robertrRotaru Stefan Robert robertr Data 19 aprilie 2019 12:10:09
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,v[6000005],sm,pim,pfm,pi;
int main()
{
    f>>n;
    for(int i=1;i<=n;i++)
        f>>v[i];
    int sm=v[1];
    pfm=pim=1;
    pi=2;
    int s=max(0,v[1]);
    for(int i=2;i<=n;i++)
    {
        s+=v[i];
        if(s>sm)
        {
            sm=s;
            pim=pi;
            pfm=i;
        }
        if(s<0)
        {
            s=0;
            pi=i+1;
        }
    }
    g<<sm<<" "<<pim<<" "<<pfm<<'\n';
    return 0;
}