Submission #364141

# Submission time Handle Problem Language Result Execution time Memory
364141 2021-02-08T09:52:50 Z yasseenkamel CONSUL (info1cup19_consul) C++14
100 / 100
44 ms 748 KB
#include <bits/stdc++.h>
#include "grader.h"
//#include "grader.cpp"

using namespace std;

map<int,int> vis;

void solve(int n){
    int a[1005];
    if(n <= 50){
        for(int i = 0 ; i < n ; i ++){
        int x = kth(i + 1);
        a[i] = x;
    }
    sort(a,a + n);
    int cnt = 1;
    for(int i = 1 ; i < n ; i ++){
        if(a[i] != a[i - 1]){
            if(cnt > n / 3){
                say_answer(a[i - 1]);
                //cout << a[i - 1] << endl;
                return;
            }
            cnt = 0;
        }
        cnt ++;
        //cout << a[i] << " " << cnt << endl;
    }
    if(cnt > n / 3){
        say_answer(a[n - 1]);
        return;
    }
    say_answer(-1);
    return;
    }
    for(int i = 0 ; i < 30 ; i ++){
        int idx = (rand() % n) + 1;
        int x = kth(idx);
        if(!vis[x]){
            int y = cnt(x);
            if(y > n / 3){
                say_answer(x);
                return;
            }
        }
    }
    //sort(a,a + n);
    //int cnt = 1;
    say_answer(-1);
}
# Verdict Execution time Memory Grader output
1 Correct 42 ms 364 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 28 ms 364 KB Output is correct
2 Correct 4 ms 492 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 22 ms 620 KB Output is correct
2 Correct 33 ms 748 KB Output is correct
3 Correct 8 ms 364 KB Output is correct
4 Correct 7 ms 364 KB Output is correct
5 Correct 21 ms 492 KB Output is correct
6 Correct 21 ms 492 KB Output is correct
7 Correct 25 ms 492 KB Output is correct
8 Correct 27 ms 364 KB Output is correct
9 Correct 27 ms 492 KB Output is correct
10 Correct 33 ms 620 KB Output is correct
11 Correct 33 ms 364 KB Output is correct
12 Correct 23 ms 492 KB Output is correct
13 Correct 44 ms 364 KB Output is correct
14 Correct 25 ms 364 KB Output is correct