Cod sursa(job #2917217)

Utilizator BlueLuca888Girbovan Robert Luca BlueLuca888 Data 3 august 2022 20:29:37
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.8 kb
#include <bits/stdc++.h>
#pragma GCC optimize ("Ofast")

using namespace std;

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

const int MAX_N = 6e6 + 5;
int n, v[MAX_N];
int sum, ST, DR;
int sol, solST, solDR;

int main (){
    ios_base::sync_with_stdio(false);
    fin.tie(nullptr), fout.tie(nullptr);

    fin>>n;
    for(int i=1; i<=n; i++)
        fin>>v[i];


    sum = sol = v[1];
    ST = DR = solST = solDR = 1;
    for(int i=2; i<=n; i++){
        if(sum + v[i] >= v[i]){
            sum += v[i];
            DR = i;
        }else{
            sum = v[i];
            ST = DR = i;
        }

        if(sum > sol){
            sol = sum;
            solST = ST;
            solDR = DR;
        }
    }

    fout<<sol<<" "<<solST<<" "<<solDR;
    return 0;
}