Cod sursa(job #2964516)

Utilizator tibinyteCozma Tiberiu-Stefan tibinyte Data 13 ianuarie 2023 09:43:32
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.87 kb
#include <bits/stdc++.h>
#define int long long
using namespace std;

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

const int maxn = 6e6;

const int inf = 1e16;

int prev_dp;
int curent_dp;
int prev_unde;
int curent_unde;

int32_t main()
{
    cin.tie(nullptr)->sync_with_stdio(false);
    int n;
    fin >> n;
     int ans = -inf;
    pair<int, int> secv;
    for (int i = 1; i <= n; ++i)
    {
        int x;
        fin >> x;
        curent_dp = x;
        curent_unde = i;
        if (i != 1 && prev_dp >= 0)
        {
            curent_dp += prev_dp;
            curent_unde = prev_unde;
        }

        if(curent_dp > ans){
            ans = curent_dp;
            secv = {curent_unde,i};
        }

        prev_dp = curent_dp;
        prev_unde = curent_unde;
    }
    fout << ans << ' ' << secv.first << ' ' << secv.second;
}