Cod sursa(job #3268744)

Utilizator jumaracosminJumara Cosmin-Mihai jumaracosmin Data 16 ianuarie 2025 22:30:38
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n, suma, max_suma, st, max_st, max_dr, max_nr = INT_MIN, poz_max_nr;
bool exista_pozitive = false;

int main()
{
    cin >> n;
    for(int i=1; i<=n; i++)
    {
        int s;
        cin >> s;
        if(s > max_nr)
            max_nr = s, poz_max_nr = i;
        if(suma + s < 0)
            suma = 0, st = i + 1;
        else
            suma += s, exista_pozitive = true;
        if(suma > max_suma)
        {
            max_suma=suma;
            max_dr=i;
            max_st=st;
        }
    }
    if(!exista_pozitive)
        cout << max_nr << " " << poz_max_nr << " " << poz_max_nr;
    else
        cout << max_suma << " " << max_st << " " << max_dr;
    return 0;
}