Cod sursa(job #2610407)

Utilizator DanGerosPetrica Marius Cristian DanGeros Data 4 mai 2020 20:43:30
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int main()
{
    int n,x;
    fin>>n;
    int poz_inceput=1,poz_sfarsit=1,suma=0,sumaMax=0;
    int vreo_poz = 0 , neg_mic=-2000000 , poz;
    for (int i=1;i<=n;i++) {
        fin>>x;
        if (x>0) vreo_poz=1;
        if (x>neg_mic) neg_mic=x , poz = i;
        suma+=x;
        if (suma>sumaMax) sumaMax=suma,poz_sfarsit=i;
        if (suma < 0 ) suma = 0, poz_inceput=i+1,poz_sfarsit=i+1;
    }
    if (vreo_poz == 0) fout<<neg_mic<<" "<<poz<<" "<<poz;
    else fout<<sumaMax<<" "<<poz_inceput<<" "<<poz_sfarsit;
    return 0;
}