Cod sursa(job #2917618)

Utilizator Luka77Anastase Luca George Luka77 Data 5 august 2022 23:43:21
Problema Subsecventa de suma maxima Scor 0
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
using namespace std;

#define FOR(i,n) for(i=1;i<=n;++i)
int n;
const int NMAX = 1e6*6+5;
int arr[NMAX], ans = -INT_MAX, s = -INT_MAX;

ifstream f("ssm.in");
ofstream g("ssm.out");

int main()
{
    f >> n;
    for(int i=1;i<=n;++i)
        f >> arr[i];
    int itr1 = 0, itr2 = 0;
    for(int i=1;i<=n;++i)
    {
        if(arr[i] > s+arr[i])
        {
            itr1 = i;
            itr2 = i;
        }
        else if(arr[i] < s+arr[i] && s == ans)
        {
            itr2++;
        }
        s = max(s+arr[i], arr[i]);
        ans = max(ans, s);
    }
    g << ans << ' ' << itr1 << ' ' << itr2+1;
}