| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 1346784 | nathlol2 | 사육제 (CEOI14_carnival) | C++20 | 2 ms | 428 KiB |
#include <bits/stdc++.h>
using namespace std;
int n, c;
int ask(vector<int> &v){
if(v.size() == 0) return 0;
cout << v.size() << ' ';
for(auto x : v) cout << x << ' ';
cout << endl;
fflush(stdout);
int x; cin >> x; return x;
}
signed main(){
// ios_base::sync_with_stdio(false);
// cin.tie(NULL);
cin >> n;
vector<int> ans(n + 1), v;
for(int i = 1;i<=n;i++){
auto tmp = v;
tmp.push_back(i);
if(ask(tmp) > ask(v)){
ans[i] = ++c;
v.push_back(i);
}else{
int l = 0, r = v.size() - 1, res;
while(l <= r){
int md = (l + r) / 2;
vector<int> t = {i};
for(int j = md;j<v.size();j++){
t.push_back(v[j]);
}
if(ask(t) < v.size() - md + 1){
res = md;
l = md + 1;
}else{
r = md - 1;
}
}
ans[i] = ans[v[res]];
}
}
cout << "0 ";
for(int i = 1;i<=n;i++) cout << ans[i] << ' ';
fflush(stdout);
}| # | 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... | ||||
