Cod sursa(job #3145127)

Utilizator catalinmarincatalinmarin catalinmarin Data 12 august 2023 22:23:49
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.73 kb
#include <fstream>
using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int length;
int v[length+2] = {0};
int dp[length+2] = {0};
int main(){
    int start = 1;
    int end = 1;
    cin >> length;
    for (int i = 1; i <= length ; i++){
        cin >> v[i];
    }
    long long max_sum = -100000000000000;
    for (int i = 1; i <= length; i++){
        dp[i] = max(dp[i-1] + v[i], v[i]);
        if (dp[i] < 0){
            start = i+1;
        }
        if (dp[i] >= max_sum){
            if (dp[i] == (dp[i-1] + v[i])){
                end = i;
            } else {
                start = i;
                end = i;
            }
            max_sum = dp[i];
        }
    }
    cout << max_sum << " " << start << " " << end;
}