# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
467507 | LucaIlie | CONSUL (info1cup19_consul) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
//#include <stdio.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( q );
return;
}
}
}
say_answer( -1 );
}
/*int main() {
int n;
scanf( "%d", &n );
solve( n );
return 0;
}*/