Cod sursa(job #2751049)

Utilizator NeacsuMihaiNeacsu Mihai NeacsuMihai Data 13 mai 2021 23:48:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

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

int main()
{
    int N;
    fin >> N;

    int best = 0;
    int raspuns = INT_MIN;
    int start = 1;
    int st, dr;

    for(int i = 1; i <= N; i++){
        int x;
        fin >> x;

        if(x > best + x){
            best = x;
            start = i;
        }
        else {
            best = best + x;
        }

        if(best > raspuns){ //pt ca best se refera la best[i] de fapt
            //unde best[i] inseamna cea mai buna subsecventa care se termina in i
            raspuns = best;
            st = start;
            dr = i;
        }
    }

    fout << raspuns << ' ' << st << ' ' << dr;

    return 0;
}