Submission #1178885

#TimeUsernameProblemLanguageResultExecution timeMemory
1178885MuhammetSequence (APIO23_sequence)C++17
28 / 100
2097 ms51276 KiB
#include "bits/stdc++.h"
#include "sequence.h"
// #include "grader.cpp"

using namespace std;

#define SZ(s) (int)s.size()

map <int, int> vis;

int sequence(int n, vector<int> a) {
    int ans = 0;
    for(int i = 0; i < n; i++) {
        vis.clear();
        multiset <int> s, s1;
        for(int j = i; j < n; j++) {
            s.insert(a[j]);
            vis[a[j]]++;
            while((SZ(s) and SZ(s1) and *s.rbegin() > *s1.begin()) or (!SZ(s1))) {
                s1.insert(*s.rbegin());
                s.erase(--s.end());
            }
            while(SZ(s) < SZ(s1)) {
                s.insert(*s1.begin());
                s1.erase(s1.begin());
            }
            while(SZ(s) - 1 >= SZ(s1) + 1) {
                s1.insert(*s.rbegin());
                s.erase(--s.end());
            }
            ans = max(ans, vis[*s.rbegin()]);
            if(SZ(s) == SZ(s1)) ans = max(ans, vis[*s1.begin()]);
        }
    }

    return ans;
}
#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...