Submission #502244

#TimeUsernameProblemLanguageResultExecution timeMemory
502244bigoCONSUL (info1cup19_consul)C++14
100 / 100
46 ms284 KiB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
void solve(int n) {
    if (n <= 50) {
        map<int, int>his;
        set<int>vec;
        for (int i = 0; i < n; i++) {
            int k = kth(i + 1);
            his[k]++;
            vec.insert(k);
        }
        bool flag = false;
        for (auto u : vec) {
            if (his[u] > n / 3) {
                say_answer(u);
                flag = true;
                break;
            }
        }
        if (!flag)
            say_answer(-1);
        return;
    }
    set<int>vec;
    for (int i = 0; i < 60; i++) {
        int k = kth(rand() % n + 1);
        if (vec.find(k) == vec.end()) {
            i++;
            if (cnt(k) > n / 3) {
                say_answer(k);
            	return;
            }
        }
    }
    say_answer(-1);
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...