Submission #1030945

#TimeUsernameProblemLanguageResultExecution timeMemory
1030945snpmrnhlolVision Program (IOI19_vision)C++17
0 / 100
4 ms5768 KiB
#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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...