| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1347592 | kim | Cave (IOI13_cave) | C++20 | 159 ms | 528 KiB |
#include "cave.h"
#include<bits/stdc++.h>
using namespace std;
int S[5005],S2[5005],D[5005];
vector<int> ans;
int N;
int ask(int b,int t){
for(int i=0;i<N;++i) S[i] = bool(i&(1<<b)) ^ (1-t);
for(auto &e:ans) S[e]=1;
int res = tryCombination(S);
return res==-1 ? N : res;
}
void exploreCave(int N){
::N = N;
ans.clear();
int K = 31-__builtin_clz(N);
for(int i=0;i<N;++i){
int id=0;
int t = 1;
fill(S,S+N,0);
for(auto &e:ans) S[e]=1;
if(tryCombination(S) != i) t = 0;
for(int j=0;j<=K;++j){
if(ask(j,t)>i) id |= 1<<j;
}
ans.push_back(id);
D[id] = i;
S2[id] = t;
}
fill(S,S+N,0);
for(auto &e:ans) S[e]=1;
answer(S,D);
}
| # | 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... | ||||
