Submission #620049

#TimeUTC-0UsernameProblemLanguageResultExecution timeMemory
6200492022-08-02 20:26:34penguinhackerLand of the Rainbow Gold (APIO17_rainbow)C++17
100 / 100
1037 ms406680 KiB
#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);
}
}
 
הההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההההה
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
#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...