Cod sursa(job #2637221)

Utilizator MihneaCadar101Cadar Mihnea MihneaCadar101 Data 21 iulie 2020 22:08:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin ("ssm.in");
ofstream fout("ssm.out");
int main()
{
    int n, smax, smin = 0, maxi, mini = 200000000, left, right, left_aux, right_aux, dif = 0;
    bool ok = false;
    fin >> n;
    for (int i = 1; i <= n; ++i) {
        int x;
        fin >> x;
        if (i == 1) {
            smax = maxi = x;
            left = left_aux = right = 1;
        }
        else {
            smax += x;
            if (smax - smin > maxi) {
                maxi = smax - smin;
                left = left_aux;
                right = i;
                dif = right - left;
            }
            if (smax < smin) {
                left_aux = i + 1;
                smin = smax;
            }
        }
    }
    fout << maxi << ' ' << left << ' ' << right;
    return 0;
}