Cod sursa(job #3033295)

Utilizator georgecristian2002Raducanu George-Cristian georgecristian2002 Data 23 martie 2023 18:07:33
Problema Subsecventa de suma maxima Scor 65
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;

int maxi(int a, int b) {
    if (a > b)
        return a;
    return b;
}

int main(void)
{
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");

    int s, x, n, start, end;
    fin >> n;
    
    s = 0;

    int best_emy = - (1 << 10);

    start = 1;
    end = 1;

    int helper;

    for (int i = 1; i <= n; ++i) {
        fin >> x;
        if (s + x < 0) {
            s = x;
            helper = i;
        } else {
            s = s + x;
        }

        if (best_emy < s) {
            best_emy = s;
            start = helper; 
            end = i;
        }
    }

    fout << best_emy << " " << start << " " << end << "\n";
    fin.close();
    fout.close();
    return 0;
}