Cod sursa(job #2737909)

Utilizator ShadowZoidPorojan Victor-Andrei ShadowZoid Data 5 aprilie 2021 12:03:35
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.6 kb
//Varianta 1
#include <fstream>
using namespace std;

#define NMAX 6000005
#define INFINIT 2000000000

int v[NMAX], s[NMAX], n, smax=-INFINIT, st, dr, minim,poz;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
        s[i]=s[i-1]+v[i];
    }
    minim=s[0]; poz=0;
    for(int i=1;i<=n;i++)
    {
        if(s[i]-minim > smax)
        {
            smax=s[i]-minim;
            dr=i; st=poz+1;

        }
        if(s[i]<minim)
            minim=s[i],poz=i;
    }
    fout<<smax<<" "<<st<<" " <<dr;
}