Cod sursa(job #2610419)

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