Submission #282778

#TimeUsernameProblemLanguageResultExecution timeMemory
282778medmdgVision Program (IOI19_vision)C++14
0 / 100
8 ms1072 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; void construct_network(int H, int W, int K){ int l=0; int r=W*H-1; int m=l+r; m/=2; while(l<=r){ vector<int> a; for(int i=0;i<=m;i++){ a.push_back(i); } bool d=add_xor(a); if(d){ break; } bool dd=add_or(a); if(dd){ r=m-1; m=(l+r)/2; continue; } l=m+1; m=(l+r)/2; } int ll=m+1; int rr=r; r=m; int mm=(ll+rr)/2; while(l<=r){ vector<int> a; for(int i=0;i<=m;i++){ a.push_back(i); } bool d=(add_or(a)==1); if(d){ if(add_not(m)==0){ break; } r=m-1; m=(l+r)/2; continue; } l=m+1; m=(l+r)/2; } while(ll<=rr){ vector<int> a; for(int i=ll;i<=mm;i++){ a.push_back(i); } bool d=(add_or(a)==1); if(d){ if(add_not(mm)==0){ break; } rr=mm-1; mm=(ll+rr)/2; continue; } ll=mm+1; mm=(ll+rr)/2; } vector<int> k; k.push_back(m); k.push_back(mm); if(abs((int)(m%W)-(int)(mm%W))+abs((int)(m/W)-(int)(mm/W))==K){ add_and(k); } add_not(m); }
#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...