# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1205182 | dosts | How to Avoid Disqualification in 75 Easy Steps (CEOI23_avoid) | C++20 | 1 ms | 424 KiB |
#include <bits/stdc++.h>
#include "avoid.h"
#pragma GCC optimize("O3,unroll-loops")
#pragma GCC target("avx2")
//#define int long long
#define pii pair<int,int>
#define vi vector<int>
#define ff first
#define ss second
#define sp << " " <<
#define all(x) x.begin(),x.end()
using namespace std;
const int MOD = 1e9+7;
std::pair<int, int> scout(int R, int H) {
if (H == 1) {
if (R == 10) {
int ans = 0;
for (int i=0;i<10;i++) {
vi v;
for (int j = 0;j<1000;j++) {
if (j&(1<<i)) v.push_back(j+1);
}
send(v);
}
vi rets = wait();
for (int i = 0;i<10;i++) if (rets[i]) ans|=(1<<i);
return {ans+1,ans+1};
}
else {
}
}
else if (H == 2) {
}
else {
//R = H = 20
int l = 1;
int r = 1000;
while(l<=r) {
int m = (l+r) >> 1;
vi v;
for (int i=1;i<=m;i++) v.push_back(i);
send(v);
int res = wait()[0];
if (res) r = m-1;
else l = m+1;
}
int p1 = l;
l = p1;
r = 1000;
while(l<=r) {
int m = (l+r) >> 1;
vi v;
for (int i = m;i<=1000;i++) v.push_back(i);
send(v);
int res = wait()[0];
if (res) l = m+1;
else r = m-1;
}
return {r,p1};
}
}
Compilation message (stderr)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |