Cod sursa(job #2695124)

Utilizator IuliaDamianDamian Iulia Alexandra IuliaDamian Data 11 ianuarie 2021 21:22:36
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

long long v[6000001], aux[60000001];
int main () {
    int n;
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        fin >> v[i];
    }
    int sum = -2e9, minim = 0, pozitie = 0, inceput, sfarsit;
    for (int i = 2; i <= n; ++i) {
        v[i] += v[i - 1];
        if (sum < v[i] - minim) {
            sum = v[i] - minim;
            inceput = pozitie + 1;
            sfarsit = i;
        }
        if (minim > v[i]) {
            minim = v[i];
            pozitie = i;
        }
    }
    fout << sum << " " << inceput << " " << sfarsit;
}