Submission #365291

#TimeUsernameProblemLanguageResultExecution timeMemory
365291MlxaCONSUL (info1cup19_consul)C++14
100 / 100
29 ms380 KiB
#ifdef LC #include "pch.h" #else #include <bits/stdc++.h> #include "grader.h" #endif using namespace std; #define all(x) x.begin(), x.end() #define x first #define y second #define mp make_pair #define mt make_tuple int kth(int i); int cnt(int x); void say_answer(int a); mt19937 rnd; void solve(int n) { int q = 48; set<int> ind; set<int> was; while (q > 0 && (int)ind.size() < n) { int i = 1 + (int)(rnd() % n); while (ind.count(i)) { i = (int)(rnd() % n); } int v = kth(i); --q; if (was.count(v)) { continue; } int c = cnt(v); --q; if (3 * c > n) { say_answer(v); return; } } say_answer(-1); } #ifdef LC const int N = 50; map<int, int> cn; int v[N]; int kth(int i) { return v[i]; } int cnt(int x) { return cn[x]; } void say_answer(int x) { cout << "answer " << x << endl; } signed main() { assert(freopen("input.txt", "r", stdin)); ios::sync_with_stdio(0); cin.tie(0); for (int i = 0; i < N; ++i) { v[i] = i / (N / 3); ++cn[v[i]]; } // for (auto e : cn) { // cout << e.x << " " << e.y << endl; // } solve(N); return 0; } #endif
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...