Cod sursa(job #2586649)

Utilizator LeCapataIustinian Serban LeCapata Data 21 martie 2020 12:24:53
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>
#define N 6000005
using namespace std;

ifstream in("ssm.in");
ofstream out("ssm.out");

int n, indx, indx_start, indx_end, minim=0, maxim=-100000000;
int suma[N];

int main()
{
    in>>n;
    for(int i=1; i<=n; ++i){
        in>>suma[i];
        suma[i]+=suma[i-1];
    }

    for(int i=1; i<=n; ++i)
    {
        if(suma[i]-minim>maxim)
            maxim=suma[i]-minim, indx_end=i, indx_start=indx+1;
        if(suma[i]<minim)
            minim=suma[i], indx=i;
    }

    out<<maxim<<" "<<indx_start<<" "<<indx_end;

    in.close();
    out.close();
    return 0;
}