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 "dango3.h"
#include <bits/stdc++.h>
using namespace std;
#define int long long
#define ii pair<int,int>
#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 lb lower_bound
#define ub upper_bound
#define rep(x,s,e) for (int 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());
namespace {
int n,m;
void solve(set<signed> v){
if (sz(v)==n){
Answer(vector<signed>(all(v)));
return;
}
int h=sz(v)/n/2;
set<signed> l,r=v;
for (auto it:v){
r.erase(it);
l.insert(it);
if (sz(r)<n*h || Query(vector<signed>(all(r)))<h){
r.insert(it);
l.erase(it);
}
}
solve(l);
solve(r);
}
}
void Solve(signed N, signed M) {
n=N,m=M;
set<signed> v;
rep(x,1,n*m+1) v.insert(x);
solve(v);
}
# | 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... |