# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1072678 | kym | Building Skyscrapers (CEOI19_skyscrapers) | C++14 | 3598 ms | 25388 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 int long long
typedef pair<int,int>pi;
const int oo = 1'000'000'000'000'000'000ll;
int dx[]={0,1,1,1,0,-1,-1,-1};
int dy[]={1,1,0,-1,-1,-1,0,1};
vector<int>ord;
vector<int>cur;
map<pi,int>have;
map<pi,int>idx;
map<pi,int>vis;
void dfs(pi cc){
vis[cc]=1;
cur.push_back(idx[cc]);
int x=cc.first,y=cc.second;
for(int k=0;k<8;k++){
int nx=x+dx[k];
int ny=y+dy[k];
if(have.find({nx,ny}) != have.end() && !vis[{nx,ny}]){
dfs({nx,ny});
return;
}
}
}
vector<int>boundary(set<pi> S){
vector<pi> X;
for(auto x:S)X.push_back(x);
sort(X.begin(),X.end(),[](pi x, pi y){
if(x.first != y.first)return x.first<y.first;
Compilation message (stderr)
# | 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... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |