답안 #364141

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
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);
}
# 결과 실행 시간 메모리 Grader output
1 Correct 42 ms 364 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 28 ms 364 KB Output is correct
2 Correct 4 ms 492 KB Output is correct
# 결과 실행 시간 메모리 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