# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
620049 | penguinhacker | Land of the Rainbow Gold (APIO17_rainbow) | C++17 | 1037 ms | 406680 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ar array
const int mxN=2e5, INF=69696969;
int n, m, lr=INF, rr=-1, lc=INF, rc=-1;
set<int> vis[mxN];
vector<int> row_edge[mxN], col_edge[mxN], faces[mxN];
bool ok(int i, int j) {
return 0<=i&&i<n&&0<=j&&j<m&&vis[i].find(j)==vis[i].end();
}
void consider(int i, int j) {
if (vis[i].find(j)==vis[i].end()) {
lr=min(lr, i), rr=max(rr, i);
lc=min(lc, j), rc=max(rc, j);
if (ok(i, j-1)) row_edge[i].push_back(j-1);
if (ok(i, j+1)) row_edge[i].push_back(j);
if (ok(i-1, j)) col_edge[i-1].push_back(j);
if (ok(i+1, j)) col_edge[i].push_back(j);
for (int a : {i-1, i})
for (int b : {j-1, j})
if (ok(a, b)&&ok(a+1, b)&&ok(a, b+1)&&ok(a+1, b+1))
faces[a].push_back(b);
vis[i].insert(j);
}
}
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |