Submission #1024081

# Submission time Handle Problem Language Result Execution time Memory
1024081 2024-07-15T11:32:56 Z MrAndria CONSUL (info1cup19_consul) C++17
100 / 100
17 ms 344 KB
#include <bits/stdc++.h>
#include "grader.h"
using namespace std;
#define pb push_back
// static const int MIN_VALUE = 0, MAX_VALUE = (1e9) - 1;

// static map<int,int> mp;
// static int Q, N, a[5005];
// static bool issol, answer;
vector <int> v;

// void say_answer(int k)
// {
//     if(answer)
//     {
//         cout << "Multiple answers provided for the same testcase!\n";
//         exit(0);
//     }
//     answer = 1;

//     if(k == -1)
//     {
//         if(issol)
//         {
//             cout << "Wrong answer\n";
//             exit(0);
//         }
//         else cout << "Correct! Number of queries: " << Q << '\n';
//     }
//     else
//     {
//         if(!issol || mp[k] <= N/3)
//         {
//             cout << "Wrong answer\n";
//             exit(0);
//         }
//         else cout << "Correct! Number of queries: " << Q << '\n';
//     }
// }

// int cnt(int k)
// {
//     ++Q;
//     if(!(k>=MIN_VALUE && k<=MAX_VALUE))
//     {
//         cout << "Wrong query format\n";
//         exit(0);
//     }
//     return mp[k];
// }

// int kth(int k)
// {
//     ++Q;
//     if(!(k>=1 && k<=N))
//     {
//         cout << "Wrong query format\n";
//         exit(0);
//     }
//     return a[k];
// }
void solve(int N){
    srand(time(0));
    v.clear();
    for(int i=1;i<=N;i++){
        v.pb(i);
    }
    int q=25;
    while(v.size() and q--){
        int k,l,num;
        k=rand();
        k%=(v.size());
        l=kth(v[k]);
        num=cnt(l);
        if(num>N/3){
            say_answer(l);
            return;
        }
        v.erase(v.begin()+k);

    }
    say_answer(-1);
    return;
}

// int main()
// {
//     int tests, i;
//     cin >> tests;

//     while(tests--)
//     {
//         cin >> N; mp.clear();
//         Q = 0; issol = 0; answer = 0;

//         for(i=1; i<=N; ++i) cin >> a[i], ++mp[a[i]];
//         for(i=1; i<=N; ++i) issol |= (mp[a[i]] > N/3);
//         solve(N);
//     }

//     return 0;
// }

# Verdict Execution time Memory Grader output
1 Correct 4 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 344 KB Output is correct
2 Correct 3 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 8 ms 344 KB Output is correct
2 Correct 17 ms 344 KB Output is correct
3 Correct 3 ms 344 KB Output is correct
4 Correct 4 ms 344 KB Output is correct
5 Correct 9 ms 344 KB Output is correct
6 Correct 8 ms 344 KB Output is correct
7 Correct 7 ms 344 KB Output is correct
8 Correct 9 ms 344 KB Output is correct
9 Correct 11 ms 344 KB Output is correct
10 Correct 8 ms 344 KB Output is correct
11 Correct 10 ms 344 KB Output is correct
12 Correct 8 ms 344 KB Output is correct
13 Correct 12 ms 344 KB Output is correct
14 Correct 9 ms 344 KB Output is correct