Cod sursa(job #3201912)

Utilizator aeru1Ianos Alex-Marian aeru1 Data 10 februarie 2024 09:50:53
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;

#define TITLE "ssm"

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

#define INFINITE -(2^32+1)

int main()
{
    int n;
    f>>n;
    pair<int,int> best;
    int a;
    f>>a;
    best=make_pair(1,a);
    long long int maxim=a,stanga=1,dreapta=1;
    for(int i=1; i<n; i++)
    {
        f>>a;
        if(a>best.second+a)
            best=(make_pair(i+1,a));
        else
                best=(make_pair(best.first,best.second+a));
        if(best.second>maxim)
        {
            maxim=best.second;
            stanga=best.first;
            dreapta=i+1;
        }
    }
    g<<maxim<<' '<<stanga<<' '<<dreapta;
    return 0;
}