Cod sursa(job #3315170)

Utilizator filipdanieloanFilip-Daniel Oancea filipdanieloan Data 12 octombrie 2025 18:14:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.64 kb
#include <bits/stdc++.h>
using namespace std;

int main()
{
#ifndef LOCAL
    ifstream cin("ssm.in");
    ofstream cout("ssm.out");
#endif

    int N;
    cin >> N;

    vector<int> sp(N + 1, 0);
    for(int i = 1; i <= N; ++i) {
        cin >> sp[i];
        sp[i] += sp[i-1];
    }

    int ssm = INT_MIN, minn = INT_MAX, stCurent, st, dr;
    for(int i = 1; i <= N; ++i) {
        if(minn > sp[i-1]) {
            minn = sp[i-1];
            stCurent = i;
        }
        if(ssm < sp[i] - minn) {
            ssm = sp[i] - minn;
            dr = i;
            st = stCurent;
        }
    }

    cout << ssm << ' ' << st << ' ' << dr;

    return 0;
}