Submission #969117

# Submission time Handle Problem Language Result Execution time Memory
969117 2024-04-24T14:14:34 Z bachhoangxuan CONSUL (info1cup19_consul) C++17
85 / 100
13 ms 448 KB
#include "grader.h"
#include<bits/stdc++.h>
using namespace std;
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

void solve(int n)
{
    vector<int> p(n);
    iota(p.begin(),p.end(),1);
    shuffle(p.begin(),p.end(),rng);
    if(n<=60){
        map<int,int> mp;
        for(int i=1;i<=n;i++) mp[kth(i)]++;
        for(auto [x,val]:mp){
            if(3*val>n){
                say_answer(x);
                return;
            }
        }
        say_answer(-1);
    }
    set<int> ss;
    int num=0;
    for(int i=0;i<n && num<60;i++){
        int x=p[i];
        int k=kth(x);num++;
        if(ss.find(k)!=ss.end()) continue;
        if(num==60) break;
        int d=cnt(k);num++;
        if(3*d>n){
            say_answer(k);
            return;
        }
        ss.insert(k);
    }
    say_answer(-1);
}
# Verdict Execution time Memory Grader output
1 Incorrect 1 ms 344 KB Multiple answers provided for the same testcase!
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 9 ms 444 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 11 ms 444 KB Output is correct
2 Correct 12 ms 440 KB Output is correct
3 Correct 5 ms 444 KB Output is correct
4 Correct 4 ms 448 KB Output is correct
5 Correct 9 ms 436 KB Output is correct
6 Correct 11 ms 436 KB Output is correct
7 Correct 11 ms 444 KB Output is correct
8 Correct 12 ms 440 KB Output is correct
9 Correct 11 ms 444 KB Output is correct
10 Correct 11 ms 440 KB Output is correct
11 Correct 12 ms 448 KB Output is correct
12 Correct 9 ms 444 KB Output is correct
13 Correct 13 ms 440 KB Output is correct
14 Correct 11 ms 440 KB Output is correct