Submission #1238129

#TimeUsernameProblemLanguageResultExecution timeMemory
1238129dostsVision Program (IOI19_vision)C++20
44 / 100
7 ms1984 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; void construct_network(int H, int W, int K) { auto pixel = [&](int x,int y) { return x*W+y; }; int ctr= H*W-1; vi todo; vi v; for (int i = 0;i<H;i++) { for (int j = 0;j<W;j++) { v.clear(); for (int dx = 0;dx+j < W;dx++) { int dy = K-abs(dx); if (dy < 0) continue; if (dy <= i && i-dy < H) v.push_back(pixel(i-dy,j+dx)); if (i+dy < H && i+dy >= 0) v.push_back(pixel(i+dy,j+dx)); } if (big(v) > 1) { sort(all(v)); add_or(v); add_and({++ctr,pixel(i,j)}); todo.push_back(++ctr); } else if (big(v) == 1) { add_and({pixel(i,j),v[0]}); todo.push_back(++ctr); } } } add_or(todo); }
#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...