Submission #1001063

#TimeUsernameProblemLanguageResultExecution timeMemory
10010630npataSequence (APIO23_sequence)C++17
0 / 100
2061 ms29904 KiB
#include "sequence.h" #include<bits/stdc++.h> using namespace std; #define vec vector int sequence(int N, std::vector<int> A) { int ans = 0; for(int i =0; i<N; i++) { vec<int> cnt(N); set<int> vals; int lw = 0; int hi = 0; int med = A[i]; for(int j = i; j<N; j++) { cnt[A[j]]++; vals.insert(A[j]); if(A[j] < med) { lw++; } else { hi++; } if(vals.upper_bound(med) != vals.end()) { int hmed = *vals.upper_bound(med); int lw2 = lw+cnt[med]; int hi2 = hi-cnt[hmed]; if(abs(lw2-hi2) < cnt[hmed]*2) { ans = max(ans, cnt[hmed]); med = hmed; lw = lw2; hi = hi2; } } if(vals.find(med) != vals.begin()) { auto it = vals.find(med); it--; int lmed = *it; int lw2 = lw-cnt[lmed]; int hi2 = hi+cnt[med]; if(abs(lw2-hi2) < cnt[lmed]*2) { ans = max(ans, cnt[lmed]); med = lmed; lw = lw2; hi = hi2; } } ans = max(ans, cnt[med]); } } 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...