Cod sursa(job #3247144)

Utilizator InformatqueAndreea Popa Informatque Data 5 octombrie 2024 19:57:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <bits/stdc++.h>

using namespace std;

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

const int NMAX = 6000005;
int v[NMAX], sume[NMAX];

int main() {
    int N, maxim = INT_MIN, min = 0, index = 1, st, dr;
    fin >> N;
    for (int i = 1; i <= N; i++) {
        fin >> v[i];
        sume[i] = v[i] + sume[i - 1];
        if (sume[i] - min > maxim) {
            maxim = sume[i] - min;
            st = index;
            dr = i;
        }
        if (sume[i] < min) {
            min = sume[i];
            index = i + 1;
        }
    }
    fout << maxim << " " << st << " " << dr;
    return 0;
}