Submission #1168577

#TimeUsernameProblemLanguageResultExecution timeMemory
1168577rayan_bdSequence (APIO23_sequence)C++20
0 / 100
40 ms10056 KiB
#include <bits/stdc++.h>
using namespace std;

const double INF = 5e18;
const int mxN = 2e5+100;

#define fi first
#define se second
#define all(v) v.begin(), v.end()

int sequence(int N,vector<int> A){
	int cnt=1,best=1;
	vector<int> st(N+5,-1),en(N+5,-1),frq(N+5,0);
	st[A[0]]=en[A[0]]=0;
	frq[A[0]]=1;
	for(int i=1;i<N;++i){
		if(A[i]==A[i-1]) best=max(best,++cnt);
		else cnt=1;
		if(st[A[i]]==-1) st[A[i]]=i;
		en[A[i]]=i;
		++frq[A[i]];
	}

	for(auto it:A){
		int area=en[it]-st[it]+1;
		if(area/2<=frq[it]) best=max(best,frq[it]);
	}

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