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 "chameleon.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ii pair<ll,ll>
#define fi first
#define se second
#define endl '\n'
#define puf push_front
#define pof pop_front
#define pub push_back
#define pob pop_back
#define rep(x,s,e) for (auto x=s-(s>e);x!=e-(s>e);s<e?x++:x--)
#define all(x) (x).begin(),(x).end()
#define sz(x) (int) (x).size()
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int n;
bool solved[1005];
void Solve(int N) {
n=N;
rep(x,0,n){
vector<int> v;
rep(y,1,2*n+1) if (!solved[y]) v.pub(y);
while (sz(v)!=2){
rep(x,0,sz(v)) swap(v[x],v[rng()%(x+1)]);
vector<int> l,r;
rep(x,0,sz(v)/2) l.pub(v[x]);
rep(x,sz(v)/2,sz(v)) r.pub(v[x]);
if (Query(l)!=sz(l)) v=l;
else if (Query(r)!=sz(r)) v=r;
}
solved[v[0]]=true;
solved[v[1]]=true;
Answer(v[0],v[1]);
}
}
# | 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... |