Cod sursa(job #3133854)

Utilizator Paul281881818818181991919191881818Draghici Paul Paul281881818818181991919191881818 Data 27 mai 2023 11:39:53
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.67 kb
#include <fstream>
#include <vector>
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
std::vector<int> arr;
int main(){
    int n;
    fin >> n;
    arr = std::vector<int> (n);
    for(int i = 0; i < n; i++){
        fin >> arr[i];
    }
    long long int mx_sum = 0, curr_sum = 0, mx_left = 0, mx_right = 0, left = 0;
    for(int i = 0; i < n; i++){
        curr_sum += arr[i];
        if(curr_sum < 0){
            left = i + 1;
            curr_sum = 0;
        }
        if(mx_sum < curr_sum){
            mx_left = left, mx_right = i;
            mx_sum = curr_sum;
        }
    }
    fout << mx_sum << " " << mx_left + 1 << " " << mx_right + 1;
}