Cod sursa(job #2922532)

Utilizator db_123Balaban David db_123 Data 8 septembrie 2022 19:52:16
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <vector>

using namespace std;

ifstream cin("ssm.in");
ofstream cout("ssm.out");

int n;
vector<int> v;

void read() {
    cin>>n;
    v.resize(n+1);
    for(int i=1;i<=n;i++) {
        cin>>v[i];
    }
}

void solve() {
    int resSumMax=v[1],resL=1,resR=1;
    int sum=v[1],l=1,r=1;
    for(int i=2;i<=n;i++) {
        if(v[i]>sum+v[i]) {
            sum=v[i];
            l=r=i;
        }
        else {
            sum+=v[i];
            r=i;
        }
        if(resSumMax<sum) {
            resSumMax=sum;
            resL=l;
            resR=r;
        }
    }
    cout<<resSumMax<<" "<<resL<<" "<<resR;
}

int main() {
 
    read();
    solve();   
    return 0;
}