Cod sursa(job #2439742)

Utilizator GabyD002Dobrita Gabriel GabyD002 Data 16 iulie 2019 19:04:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
#define NM 6000005
#define oo (1<<30)
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

int n,s[NM];

void Read();
void Solve();

int main()
{   Read();
    Solve();
    return 0;
}

void Read()
{   f>>n;
    for(int x,i=1; i<=n; i++)
    {   f>>x;
        s[i]=x+s[i-1];
    }
}

void Solve()
{   int eMin=0,ind=1,eMax=-oo,st,dr;
    for(int i=1; i<=n; i++)
    {   if(s[i]-eMin>eMax)
        {   st=ind+1;
            dr=i;
            eMax=s[i]-eMin;
        }
        if(s[i]<eMin)
        {   eMin=s[i];
            ind=i;
        }
    }
    g<<eMax<<' '<<st<<' '<<dr;
}