Cod sursa(job #3242447)

Utilizator CondoracheAlexandruCondorache Alexandru CondoracheAlexandru Data 12 septembrie 2024 12:12:54
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>
#define ll long long
using namespace std;

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

void solve() {
    int n;
    fin >> n;
    vector<int> a(n);
    for (int i = 0; i < n; i++) {
        fin >> a[i];
    }
    ll sum = 0, curr = -1;
    int start = 0, temp = 0;;
    int end = n - 1;
    for (int i = 0; i < n; i++) {
         if(curr < 0) {
            curr = 0;
            temp = i;
        }
        curr += a[i];
        if (curr > sum) {
            start = temp;
            end = i;
            sum = curr;
        }
    }
    fout << sum << " " << start + 1 << " " << end + 1 << endl;
}

int main() {
    int t = 1;
    // fin >> t;
    while (t--) {
        solve();
    }
}