Submission #1136661

#TimeUsernameProblemLanguageResultExecution timeMemory
1136661domblySequence (APIO23_sequence)C++20
11 / 100
2098 ms59236 KiB
#include "sequence.h" #include <bits/stdc++.h> #define F first #define S second #define pb push_back using namespace std; const int N = 5e5 + 10; map<int,vector<int>>m; int g(int i,int rr) { int l = 0,r = m[i].size() - 1,ans = -1; while(l <= r) { int mid = (l + r) / 2; if(m[i][mid] <= rr) { ans = mid; l = mid + 1; }else { r = mid - 1; } } return ans + 1; } int f(int x,int l,int r) { return g(x,r) - g(x,l - 1); } int sequence(int N, std::vector<int> A) { for(int i = 0; i < N; i++) m[A[i]].pb(i); int ans = 0; for(int i = 0; i < N; i++) { vector<int>v; for(int j = i; j < N; j++) { v.pb(A[j]); sort(v.begin(),v.end()); int k = v.size(); ans = max(ans,f(v[(k - 1) / 2],i,j)); ans = max(ans,f(v[k / 2],i,j)); } } return ans; } /* 7 1 2 3 1 2 1 3 3 9 1 1 2 3 4 3 2 1 1 2 14 2 6 2 5 3 4 2 1 4 3 5 6 3 2 3 */
#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...