제출 #1239020

#제출 시각아이디문제언어결과실행 시간메모리
1239020dostsVision Program (IOI19_vision)C++20
44 / 100
30 ms5960 KiB
#include "vision.h" #include <bits/stdc++.h> #pragma GCC optimize("O3,unroll-loops") #pragma GCC target("avx2") //#define int long long #define pii pair<int,int> #define vi vector<int> #define ff first #define ss second #define sp << " " << #define all(x) x.begin(),x.end() #define big(x) ((int)(x.size())) using namespace std; const int MOD = 1e9+7, LIM = 1e6+1, inf = 2e9; int H,W; int pixel(int x,int y) { return x*W+y; }; int test(int K) { map<int,vi> dia,ldia; for (int i = 0;i<H;i++) { for (int j = 0;j<W;j++) { dia[i+j].push_back(pixel(i,j)); ldia[j-i].push_back(pixel(i,j)); } } vi imp; for (auto it : dia) { vi toor; for (auto it2 : dia) { if (abs(it.ff-it2.ff) >= K) { for (auto it : dia[it2.ff]) toor.push_back(it); } } if (big(toor)) imp.push_back(add_and({add_or(dia[it.ff]),add_or(toor)})); } for (auto it : ldia) { vi toor; for (auto it2 : ldia) { if (abs(it.ff-it2.ff) >= K) { for (auto it : ldia[it2.ff]) toor.push_back(it); } } if (big(toor)) imp.push_back(add_and({add_or(ldia[it.ff]),add_or(toor)})); } if (big(imp)) return add_or(imp); else return -1; } void construct_network(int H_, int W_, int K) { H = H_,W = W_; int lmao1 = test(K); int lmao2 = test(K+1); if (lmao2 == -1) add_and({lmao1}); else add_and({test(K),add_not(test(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...