제출 #467514

#제출 시각아이디문제언어결과실행 시간메모리
467514LucaIlieCONSUL (info1cup19_consul)C++17
100 / 100
37 ms276 KiB
//#include <stdio.h>
#include <stdlib.h>
#include <map>
#include "grader.h"

#define MAX_Q 60

using namespace std;

map <int, int> checkedPoz, checkedVal;

/*int kth( int i ) {
    int ans;

    printf( "kth %d\n", i );
    scanf( "%d", &ans );

    return ans;
}

int cnt( int x ) {
    int ans;

    printf( "cnt %d\n", x );
    scanf( "%d", &ans );

    return ans;
}

void say_answer( int ans ) {
    printf( "%d\n", ans );
}*/

void solve( int n ) {
    int q, i, x;

    checkedPoz.clear();
    checkedVal.clear();
    q = 0;
    while ( q < MAX_Q && q < n ) {
        i = rand() % n;
        if ( !checkedPoz[i] ) {
            checkedPoz[i] = 1;
            x = kth( i + 1 );
            q++;
        }

        if ( q < MAX_Q && q < n && !checkedVal[x] ) {
            checkedVal[x] = 1;
            if ( cnt( x ) > n / 3 ) {
                say_answer( x );
                return;
            }
            q++;
        }
    }

    say_answer( -1 );
}

/*int main() {
    int n;

    scanf( "%d", &n );
    solve( n );

    return 0;
}*/
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...