Cod sursa(job #2890637)

Utilizator bogdan2405Strat Bogdan-Valentin bogdan2405 Data 16 aprilie 2022 10:13:33
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.92 kb
/*
Problema Subsecventa de suma maima
Platforma: Infoarena
*/
#include<bits/stdc++.h>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

int main(){
    int n,i,a,left,right;
    long long ans = INT_MIN,s=0;
    vector<long long> sp,mp;

    f>>n;               //for starting from 1 index
    sp.push_back(0);
    mp.push_back(INT_MAX);

    for(i=1;i<=n;++i){
        f >> a;
        s += a;
        sp.push_back(s);
        mp.push_back( min( mp[i-1], sp[i] ) );
    }

    for(i=1;i<=n;++i){
        if(i>1 && mp[i-1]!=mp[i-2]){
            left = i-1;
        }

        if(sp[i]-mp[i-1]> ans){
            ans = sp[i] - mp[i-1];
            right = i;
        }
    }

    g << ans << ' ';

    /*
    for(i = right; i > 0; --i){
        if(ans>0){
            ans -= v[i];
        }

        if(ans == 0){
            left = i;
            break;
        }
    }
    */
   
    g << left << ' ' << right;

    return 0;
}