Cod sursa(job #2776297)

Utilizator BlaugranasEnal Gemaledin Blaugranas Data 19 septembrie 2021 11:17:46
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.53 kb
#include<fstream>
using namespace std;
ifstream F("ssm.in");
ofstream G("ssm.out");
const int N=30000000;
int n,i,j,k,s,m=-1000,l,o=-1,b,e,t;
char r[N];
int main()
{
    F>>n,F.get(),F.getline(r,N);
    for(i=1;i<=n;++i) {
        e=0,b=1,++o;
        if(r[o]==45)
            b=-1,++o;
        for(;r[o]>47;++o)
            e=e*10+r[o]-48;
        t=e*b;
        if(s<0)
            s=t,l=i;
        else
            s+=t;
        if(m<s)
            m=s,j=l,k=i;
    }
    G<<m<<" "<<j<<" "<<k;
    return 0;
}