| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1296414 | PieArmy | How to Avoid Disqualification in 75 Easy Steps (CEOI23_avoid) | C++20 | 2 ms | 440 KiB |
#include<bits/stdc++.h>
typedef long long ll;
#define pb push_back
#define fr first
#define sc second
#define endl '\n'
using namespace std;
#define mid ((left+right)>>1)
#include"avoid.h"
//send(vector<int>)
//vector<int>wait()
int n=1000;
pair<int,int> scout(int R,int H){
if(R==10){
vector<int>v[10];
for(int i=1;i<=n;i++){
for(int j=0;j<10;j++){
if((i>>j)&1)v[j].pb(i);
}
}
for(int i=0;i<10;i++){
send(v[i]);
}
vector<int>res=wait();
int cev=0;
for(int i=0;i<10;i++){
if(res[i])cev+=(1<<i);
}
return {cev,cev};
}
else if(R==20){
pair<int,int>p;
int l=1,r=1000;
while(l<r){
int mi=(l+r)/2;
vector<int>v;
for(int i=1;i<=mi;i++){
v.pb(i);
}
send(v);
if(wait()[0])r=mi;
else l=mi+1;
}
p.fr=l;
l=1;r=1000;
while(l<r){
int mi=(l+r+1)/2;
vector<int>v;
for(int i=mi;i<=n;i++){
v.pb(i);
}
send(v);
if(wait()[0])l=mi;
else r=mi-1;
}
p.sc=l;
return p;
}
else if(R==30){
vector<int>v[10];
for(int i=1;i<=n;i++){
for(int j=0;j<10;j++){
if((i>>j)&1)v[j].pb(i);
}
}
for(int i=0;i<10;i++){
send(v[i]);
v[i].clear();
}
for(int i=1;i<=n;i++){
for(int j=0;j<10;j++){
if(!((i>>j)&1))v[j].pb(i);
}
}
for(int i=0;i<10;i++){
send(v[i]);
v[i].clear();
}
vector<int>res=wait();
int mask=0;
for(int i=0;i<20;i++){
if(i<10){
if(res[i])mask+=(1<<i);
}
else if(res[i]==0){
if(mask&(1<<(i-10))){
mask-=(1<<(i-10));
}
}
}
if(mask==0){
int cev=0;
for(int i=0;i<10;i++){
if(res[i])cev+=(1<<i);
}
return {cev,cev};
}
vector<int>can;
for(int i=1;i<=n;i++){
if(i<(i^mask)){
can.pb(i);
}
}
for(int i=0;i<can.size();i++){
for(int j=0;j<10;j++){
if((i>>j)&1)v[j].pb(can[i]);
}
}
for(int i=0;i<10;i++){
send(v[i]);
v[i].clear();
}
res=wait();
int tar=0;
for(int i=0;i<10;i++){
if(res[i])tar+=(1<<i);
}
return {can[tar],can[tar]^mask};
}
}
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... | ||||
