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 "vision.h"
#include <bits/stdc++.h>
using namespace std;
void construct_network(int n, int m, int k) {
vector <int> cand;
int l = 0,r = n*m - 1;
while(l != r){
int mij = (l + r)/2;
for(int i = l;i < mij;i++){
cand.push_back(i);
}
if(add_or(cand) == 1){
r = mij;
}else l = mij + 1;
}
int pos1 = l;
l = 0,r = n*m - 1;
while(l != r){
int mij = (l + r)/2;
for(int i = l;i < mij;i++){
cand.push_back(n*m - 1 - i);
}
if(add_or(cand) == 1){
r = mij;
}else l = mij + 1;
}
int pos2 = r;
int x1 = pos1/m,y1 = pos1%m;
int x2 = pos2/m,y2 = pos2%m;
if(abs(x1 - y1) + abs(x2 - y2) == k){
add_or({pos1});
}else{
add_not(add_or({pos1}));
}
}
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |