Cod sursa(job #2693295)

Utilizator Andrei_ierdnANeculau Rares-Andrei Andrei_ierdnA Data 5 ianuarie 2021 14:16:51
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.61 kb
#include <fstream>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

long long n, i, j = 1, a, sp = 0, sm = 0, maxi, st, dr;

int main()
{
    f >> n >> a;
    sp = a;
    maxi = sp;
    st = dr = 1;
    if (sp < sm) {
        sm = sp;
        j = 2;
    }
    for (i = 2; i <= n; i++) {
        f >> a;
        sp += a;
        if (sp - sm > maxi) {
            maxi = sp - sm;
            st = j;
            dr = i;
        }
        if (sp < sm) {
            sm = sp;
            j = i + 1;
        }
    }
    g << maxi << ' ' << st << ' ' << dr;
    return 0;
}