Cod sursa(job #3309136)

Utilizator Maria_MihailescuMihailescu Maria Maria_Mihailescu Data 1 septembrie 2025 17:16:55
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int NMAX = 6e6;
int v[NMAX + 1];
int dp[NMAX + 1];
int main(){
    int n;
    fin >> n;
    for (int i = 1; i <= n; i++){
        fin >> v[i];
    }
    long long rez = 0, j = 1;
    int st, dr;
    for (int i = 1; i <= n; i++){
        dp[i] = max(v[i], dp[i - 1] + v[i]);
        if (dp[i] == v[i])
            j = i;
        if ((dp[i] == rez && j < st) || dp[i] > rez){
            rez = dp[i];
            st = j;
            dr = i;
        }
    }
    fout << rez << " " << st << " " << dr;
    return 0;
}