Submission #635780

#TimeUsernameProblemLanguageResultExecution timeMemory
635780Dec0DeddCONSUL (info1cup19_consul)C++14
100 / 100
61 ms208 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; mt19937 rng(chrono::steady_clock::now().time_since_epoch().count()); int rnd(int a, int b){ return a+rng()%(b-a+1); } void solve(int n) { pair<int, int> x={0, -1}; vector<int> v; for (int i=1; i<=n; ++i) v.push_back(i); shuffle(v.begin(), v.end(), rng); if (n <= 50) { map<int, int> cnt; for (int i=1; i<=n; ++i) { int val=kth(i); ++cnt[val]; if (cnt[val] > n/3) { say_answer(val); return; } } say_answer(-1); return; } for (int i=0; i<min(n, 30); ++i) { int r=v[i], val=kth(r); x=max(x, {cnt(val), val}); } if (x.first > n/3) say_answer(x.second); else say_answer(-1); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...