# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
48965 | doowey | 사육제 (CEOI14_carnival) | C++14 | 10 ms | 584 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 <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef pair<int,int> pii;
typedef long double ld;
#define fi first
#define se second
#define mp make_pair
#define fastIO ios::sync_with_stdio(false);cin.tie(0);cout.tie(0);
#define TEST freopen("in.txt","r",stdin);
#define ab(a) ((a < 0) ? (-(a)) : (a))
#define all(a) a.begin(), a.end()
int Query(vector<int>party){
cout << party.size() << " ";
for(auto x : party)
cout << x << " ";
cout << endl;
int answer;
cin >> answer;
return answer;
}
const int N = 155;
int ans[N];
int main(){
int n;
cin >> n;
vector<int>unique;
unique.push_back(1);
ans[1] = 1;
int p = 2;
vector<int>QR;
for(int i = 2;i <= n;i ++){
QR = unique;
QR.push_back(i);
if(Query(QR) < QR.size()){
int lf = 0,rf = unique.size() + 1;
int md;
int rez;
while(lf + 1 < rf){
md = (lf + rf) / 2;
QR.clear();
for(int i = 0;i < md;i ++)
QR.push_back(unique[i]);
QR.push_back(i);
if(Query(QR) < QR.size())
rf = md;
else
lf = md;
}
ans[i] = rf;
}
else{
ans[i] = p;
++p;
unique.push_back(i);
}
}
cout << "0 ";
for(int i = 1;i <= n;i ++)
cout << ans[i] << " ";
return 0;
}
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... |