Cod sursa(job #3267646)

Utilizator Lex._.Lexi Guiman Lex._. Data 11 ianuarie 2025 17:58:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
#include <iostream>
#include <fstream>
using namespace std;

int main()
{
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
    int n, suma=0, max_suma=0, st=0, max_st=0, max_dr=0, max_nr=-2000000000, poz_max_nr=0;
    bool exista_pozitive=0;
    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=1;}
        if(suma>max_suma)
        {
            max_suma=suma;
            max_dr=i;
            max_st=st;
        }
    }
    if(exista_pozitive==0) cout << max_nr << " " << poz_max_nr << " " << poz_max_nr;
    else cout << max_suma << " " << max_st << " " << max_dr;

    return 0;
}