Submission #1168768

#TimeUsernameProblemLanguageResultExecution timeMemory
1168768rayan_bdSequence (APIO23_sequence)C++20
0 / 100
948 ms59124 KiB
#include <bits/stdc++.h> using namespace std; const double INF = 5e18; const int mxN = 5e5+100; #define fi first #define se second #define all(v) v.begin(), v.end() int sequence(int N,vector<int> A){ map<int,pair<int,int>> mp; map<int,int> frq; for(int i=0;i<N;++i){ if(!mp.count(A[i])) mp[A[i]].fi=i; mp[A[i]].se=i; ++frq[A[i]]; } int cnt=1,ans=1; for(int i=1;i<N;++i){ if(A[i]==A[i-1]) ans=max(ans,++cnt); else cnt=1; } for(auto it:mp){ int len=it.se.se-it.se.fi+1,tst=0; while(len>=1&&tst<=100){ if(len&1){ if(frq[it.fi]>=((len+1)/2)) ans=max(ans,frq[it.fi]); }else{ if(frq[it.fi]>=(len/2)) ans=max(ans,frq[it.fi]); } --frq[it.fi]; --len; ++tst; } } 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...