제출 #1196149

#제출 시각아이디문제언어결과실행 시간메모리
1196149Mousa_Aboubaker서열 (APIO23_sequence)C++20
7 / 100
41 ms10056 KiB
#include "sequence.h" #include <bits/stdc++.h> using namespace std; #include <ext/pb_ds/tree_policy.hpp> #include <ext/pb_ds/assoc_container.hpp> using namespace __gnu_pbds; template <typename T> using o_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>; int sequence(int N, vector<int> A) { int mx = 0; for(int i = 0; i < N;) { int j = i; while(j < N and A[j] == A[i]) j++; mx = max(mx, j - i); i = j; } vector<int> in(N + 1, -1), out(N + 1, -1); vector<int> occ(N + 1, 0); for(int i = 0; i < N; i++) { if(in[A[i]] == -1) in[A[i]] = i; out[A[i]] = i; occ[A[i]]++; } for(int i = 1; i <= N; i++) { int idx = occ[i] - 1; idx += in[i]; idx += N - out[i] - 1; if(idx >= (N - 1) / 2) { mx = max(mx, occ[i]); } } return mx; }
#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...