# | TimeUTC-0 | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1147450 | Pacybwoah | Towers (NOI22_towers) | C++20 | 465 ms | 159792 KiB |
#include<iostream>
#include<vector>
#include<queue>
#include<algorithm>
#include<string>
#include<set>
using namespace std;
typedef long long ll;
int inf = 1e9;
const int maxn = 1000005;
set<pair<int, int>> sx[maxn]; // (y, id)
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<pair<int, int>> pts(n), cur(maxn);
for(int i = 0; i < n; i++) cin >> pts[i].first >> pts[i].second;
string ans(n, '0');
vector<vector<pair<int, int>>> allx(maxn);
for(int i = 0; i < n; i++) allx[pts[i].second].emplace_back(pts[i].first, i);
vector<int> left(n, -1), rht(n, -1);
for(int i = 1; i < maxn; i++){
if(!allx[i].empty()){
sort(allx[i].begin(), allx[i].end());
int sz = (int)allx[i].size();
for(int j = 0; j < sz - 1; j++){
rht[allx[i][j].second] = allx[i][j + 1].second;
left[allx[i][j + 1].second] = allx[i][j].second;
}
# | 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... |