Cod sursa(job #3187335)

Utilizator MateiAlex24Diamandi Matei MateiAlex24 Data 28 decembrie 2023 14:58:21
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int main()
{
    int suma=0, suma_max=-1, x, n, start=0, start_max, finish;
    fin>>n;
    for (int i=1; i<=n; i++){
        fin>>x;
        if (suma < 0){
            suma = x;
            start = i;
        } else
            suma +=x;
        if (suma > suma_max){
            suma_max = suma;
            start_max = start;
            finish = i;
        } else if (suma == suma_max && start_max > start){
            suma_max = suma;
            start_max = start;
            finish = i;
        } else if (suma == suma_max && start_max == start && finish-start_max > i-start){
            suma_max = suma;
            start_max = start;
            finish = i;
        }
    }
    
    fout<<suma_max<<" "<<start_max<<" "<<finish;

    return 0;
}