Cod sursa(job #3192090)

Utilizator Manolea_Teodor_StefanManolea Teodor Stefan Manolea_Teodor_Stefan Data 11 ianuarie 2024 14:53:48
Problema Subsecventa de suma maxima Scor 90
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
struct answer {
    int val = INT_MIN;
    int st;
    int dr;
} ans;

int n;
int s;

int main() {
    fin >> n;
    fin >> s;
    int st=1,dr=1;
    if (ans.val <= s) {
        ans = {s,st,dr};
    }
    for (int i = 2; i <= n; i++, dr = i) {
        int rd;
        fin >> rd;
        if (rd + s > rd) {
            s = rd + s;
            if (s > ans.val) {
                ans = {s, st, dr};
            }
        } else {
            s = rd;
            st = i;
            dr = i;
        }
    }
    fout << ans.val << ' ' << ans.st << ' ' << ans.dr;

    return 0;
}