Submission #1270014

#TimeUsernameProblemLanguageResultExecution timeMemory
1270014FaggiSequence (APIO23_sequence)C++20
0 / 100
380 ms35644 KiB
#include <bits/stdc++.h>
#define ll long long
#define sz(x) int(x.size())
#define all(x) x.begin(), x.end()
#define fr first
#define se second
#define pb push_back
#define mp make_pair
using namespace std;


ll tam;

int sequence(int N, std::vector<int> A)
{


    ll i, j, l, r, a, b;
    ll ma = 0;

    ll mid = N - 1;
    for (i = 0; i < N - 1; i++)
    {
        if (A[i] > A[i + 1])
        {
            mid = i;
            break;
        }
    }
    map<ll, ll> ap;
    for (i = 0; i < mid; i++)
    {
        ap[A[i]]++;
        ma = max(ma, ap[A[i]]);
    }
    ap.clear();
    for (i = mid + 1; i < N; i++)
    {
        ap[A[i]]++;
        ma = max(ma, ap[A[i]]);
    }

    ap.clear();
    ap[A[mid]]++;
    tam = 1;
    l = r = mid;
    for (i = A[mid]; i > 0; i--)
    {
        for (j = l - 1; j >= 0; j--)
            if (A[j] == i)
            {
                ap[A[j]]++;
                l = j;
                tam++;
            }
            else
                break;
        for (j = mid + 1; j < N; j++)
            if (A[j] == i)
            {
                ap[A[j]]++;
                r = j;
                tam++;
            }
            else
                break;
        a=sz(A)-tam+ap[i];
        b=tam-ap[i];
        if(a>=b)
            ma=max(ma,ap[i]);
    }
    return ma;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...