Cod sursa(job #3224890)

Utilizator aeru1Ianos Alex-Marian aeru1 Data 16 aprilie 2024 14:17:51
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <bits/stdc++.h>

using namespace std;

#define TITLE "ssm"
#define ll long long
#define MaxN 100010

ifstream f (TITLE".in");
ofstream g (TITLE".out");

int solve()
{
    int n;
    ll dp;
    f>>n;
    f>>dp;
    ll maxim=dp, answerend=1,answerbegin=1,tempanswerbegin=1;
    for(int i=2; i<=n; i++)
    {
        ll a;
        f>>a;
        if(dp+a>=a)
            dp+=a;
        else
        {
            dp=a;
            tempanswerbegin=i;
        }
        if(dp>maxim)
        {
            answerend=i;
            answerbegin=tempanswerbegin;
            maxim=dp;
        }
    }
    g<<maxim<<' '<<answerbegin<<' '<<answerend;
    return 0;
}

int main()
{
    solve();
    return 0;
}