Submission #152218

#TimeUsernameProblemLanguageResultExecution timeMemory
152218stefdascaVision Program (IOI19_vision)C++14
100 / 100
33 ms1524 KiB
#include "vision.h" #include<bits/stdc++.h> using namespace std; vector<int> fct(int K, vector<int>mn) { vector<int>k1; for(int i = K; i < mn.size(); ++i) k1.push_back(add_xor({add_and({mn[i-K], mn[i]})})); return k1; } void construct_network(int H, int W, int K) { vector<int>mn, sc; for(int i = H - 1; i >= 0; --i) { vector<int>pz; for(int a = i, b = 0; a < H && b < W; ++a, ++b) pz.push_back(a * W + b); if(i == H-1) mn.push_back(add_xor(pz)); else mn.push_back(add_xor({mn.back(), add_xor(pz)})); } for(int i = 1; i < W; ++i) { vector<int>pz; for(int a = 0, b = i; a < H && b < W; ++a, ++b) pz.push_back(a * W + b); mn.push_back(add_xor({mn.back(), add_xor(pz)})); } for(int i = 0; i < W; ++i) { vector<int>pz; for(int a = 0, b = i; a < H && b >= 0; ++a, --b) pz.push_back(a * W + b); if(i == 0) sc.push_back(add_xor(pz)); else sc.push_back(add_xor({sc.back(), add_xor(pz)})); } for(int i = 1; i < H; ++i) { vector<int>pz; for(int a = i, b = W - 1; a < H && b >= 0; ++a, --b) pz.push_back(a * W + b); sc.push_back(add_xor({sc.back(), add_xor(pz)})); } add_and({add_or({add_or(fct(K-1, mn)), add_or(fct(K-1, sc))}), add_not(add_or(fct(K, mn))), add_not(add_or(fct(K, sc)))}); }

Compilation message (stderr)

vision.cpp: In function 'std::vector<int> fct(int, std::vector<int>)':
vision.cpp:8:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i = K; i < mn.size(); ++i)
                    ~~^~~~~~~~~~~
#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...