Submission #950153

#TimeUsernameProblemLanguageResultExecution timeMemory
950153PringCONSUL (info1cup19_consul)C++17
93.10 / 100
15 ms696 KiB
#include <bits/stdc++.h> #include "grader.h" using namespace std; #define fs first #define sc second #define mp make_pai #define FOR(i, j, k) for (int i = j, Z = k; i < Z; i++) mt19937 rnd(time(nullptr)); void solve(int n) { if (n <= 50) { map<int, int> M; FOR(i, 1, n + 1) { int x = kth(i); if (++M[x] > n / 3) { say_answer(x); return; } } say_answer(-1); return; } vector<int> v; set<int> S; FOR(i, 1, n + 1) v.push_back(i); shuffle(v.begin(), v.end(), rnd); int bound = 60, p = 0; while (bound > 0) { int id = v[p]; int x = kth(id); bound--; if (S.insert(x).sc) { int y = cnt(x); bound--; if (y > n / 3) { say_answer(x); return; } } if (++p == n) break; } say_answer(-1); return; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...