Cod sursa(job #3182923)

Utilizator UengineDavid Enachescu Uengine Data 10 decembrie 2023 11:53:44
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <climits>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

const int N = 6e6 + 5;
int sp[N];

int main() {
    int n, st = 1, dr = 1, x;
    cin >> n >> x;
    sp[1] = x;
    int best_sum = x, lowest = x, crt = 1;
    for (int i = 2; i <= n; ++i) {
        cin >> x;
        sp[i] = sp[i - 1] + x;
    }
    for (int i = 2; i <= n; ++i) {
        if(sp[i] - lowest > best_sum){
            best_sum = sp[i] - lowest;
            dr = i;
        }
        if(sp[i] < lowest){
            lowest = sp[i];
            st = i + 1;
        }
    }
    cout << best_sum << ' ' << st  << ' ' << dr;
    return 0;
}