Submission #1146639

#TimeUsernameProblemLanguageResultExecution timeMemory
1146639Dan4LifeCONSUL (info1cup19_consul)C++20
0 / 100
3 ms416 KiB
#include "grader.h" #include <bits/stdc++.h> using namespace std; #define sz(a) (int)s.size() #define all(a) begin(a),end(a) using vi = vector<int>; int a[10000]; map<int,int> M; int q; int getEle(int i){ if(!q) return 0; if(a[i]!=-1) return a[i]; q--; return a[i]=kth(i); } int getCnt(int a){ if(!q) return 0; if(M.find(a)!=end(M)) return M[a]; q--; return M[a]=cnt(a); } void solve(int n){ srand(time(0)); M.clear(); q = 60; for(int i = 1; i <= n; i++) a[i]=-1; if(n<=50){ if(n<=2){ say_answer(kth(1)); return; } for(int i = 1; i <= min(25,n); i++){ int x = kth(i); if(cnt(x) > n / 3){ say_answer(x); return; } } say_answer(-1); return; } vi v(n,0); iota(all(v),1); random_shuffle(all(v)); for(auto i : v){ if(!q) break; int x = getEle(i); if(getCnt(x) > n/3){ say_answer(kth(1)); return; } } say_answer(-1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...