Cod sursa(job #2395552)

Utilizator AlexNeaguAlexandru AlexNeagu Data 2 aprilie 2019 17:51:56
Problema Subsecventa de suma maxima Scor 10
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

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

const int NMAX=6000005;
long long V[NMAX];
int st,dr,N,ultimul_start=0;
long long MAX=0;

int main()
{
    fin>>N;
    int x;
    fin>>x;
    V[1]=x;
    ultimul_start=1;
    MAX=x;
    dr=1;
    st=1;
    for (int i=2; i<=N; i++)
    {
        int x;
        fin>>x;
        if (x>V[i-1]+x)
        {
            if (x>MAX)
            {
                MAX=x;
                dr=i;
                st=i;
            }
            V[i]=x;
        }
        else
        {
            V[i]=V[i-1]+x;
            if (V[i]>MAX)
            {
                MAX=V[i];
                dr=i;

            }
        }
    }
    fout<<MAX<<" "<<st<<" "<<dr<<"\n";
}