Submission #478403

#TimeUsernameProblemLanguageResultExecution timeMemory
478403blueVision Program (IOI19_vision)C++17
100 / 100
67 ms5900 KiB
#include "vision.h" #include <vector> using namespace std; #define pb push_back int C(int H,int W,int K){ vector<int> M[450],O[450],P,Q,R,S,T; for(int i = 0; i < H*W; i++){ M[i/W+int(i%W)].pb(i); O[i/W-int(i%W)+W-1].push_back(i); } for(int d=0;d<=H+W-2;d++){ P.push_back(add_or(M[d])); Q.push_back(add_or(P)); R.push_back(add_or(O[d])); S.push_back(add_or(R)); if(d-K >= 0){ T.push_back(add_and({P[d], Q[d-K]})); T.push_back(add_and({R[d], S[d-K]}));}} return add_or(T);} void construct_network(int H, int W, int K){ if(K==H+W-2)C(H, W, K); else add_xor({C(H, W, K),C(H, W, K+1)});}
#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...