# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1029619 | Otalp | Super Dango Maker (JOI22_dango3) | C++17 | 7029 ms | 1512 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 "dango3.h"
#include<bits/stdc++.h>
using namespace std;
#define pb push_back
namespace {
int variable_example = 1;
mt19937 rng(chrono::steady_clock::now().time_since_epoch().count());
int gen(int i){return rng()%i;}
} // namespace
void Solve(int N, int M) {
int n = N, m = M;
map<int, int> us, ddus;
vector<int> rs;
for(int i=1; i<=n*m; i++){
rs.pb(i);
}
//random_shuffle(rs.begin(), rs.end(), gen);
for(int i=1; i<=m; i++){
vector<int> d;
for(int j: rs){
if(us[j]) continue;
d.pb(j);
if(ddus[j]) continue;
if(d.size() >= n){
int g = Query(d);
if(g) break;
}
}
map<int, int> dus;
for(int x: d){
vector<int> f;
for(int y: d){
if(x == y) continue;
if(dus[y]) continue;
f.pb(y);
}
int g = Query(f);
if(g == 1){
dus[x] = 1;
}
else{
us[x] = 1;
}
}
vector<int> f;
for(int x: d){
if(us[x]) f.pb(x);
else ddus[x] = 1;
}
Answer(f);
}
}
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... |