# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
486304 | 2021-11-11T08:19:44 Z | NintsiChkhaidze | CONSUL (info1cup19_consul) | C++14 | 0 ms | 0 KB |
#include <bits/stdc++.h> #include "grader.hpp" using namespace std; int kth(int k); void say_answer(int k); int cnt(int k); map <int,int> mp; void solve(int n){ if (n<=50){ mp.clear(); for (int i = 1; i <= n; i++){ int val = kth(i); mp[val]++; if (mp[val] > n/3){ say_answer(val); return; } } say_answer(-1); return; } set <int> st; st.clear(); for (int i = 1; i <= n; i++){ int val = kth(i); if (st.find(val)!=st.end()) continue; st.insert(val); if (cnt(val) > n/3){ say_answer(val); return; } } say_answer(-1); }