Cod sursa(job #3209492)

Utilizator Sabin1133Padurariu Sabin Sabin1133 Data 2 martie 2024 16:06:58
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <bits/stdc++.h>

#define NMAX 6000000

int dp[NMAX];

int main()
{
    int n, index, start = 0, end = 0;
    int min, sum;

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

    fin >> n;

    fin >> dp[0];
    min = dp[0];
    index = 0;
    sum = dp[0];

    for (int i = 1; i < n; ++i) {
        fin >> dp[i];
        dp[i] += dp[i - 1];

        if (dp[i] < min) {
            min = dp[i];
            index = i;
        } else if (dp[i] - min > sum) {
            sum = dp[i] - min;
            start = index + 1;
            end = i;
        }
    }

    fout << sum << ' ' << start + 1 << ' ' << end + 1;

    fin.close();
    fout.close();

    return 0;
}