Submission #1148824

#TimeUsernameProblemLanguageResultExecution timeMemory
1148824LinkedArrayTowers (NOI22_towers)C++17
0 / 100
340 ms13072 KiB
#include <bits/stdc++.h> using namespace std; using ll = long long; #define pb push_back vector<bool> build_tower; vector<pair<pair<int, int>, int>> coords; int main () { ios_base::sync_with_stdio(false); cin.tie(nullptr); int n, i, x, y; cin >> n; coords = vector<pair<pair<int, int>, int>>(n + 2); coords[0] = {{-1, -1}, 0}; for (i = 1; i <= n; i++) { cin >> coords[i].first.first >> coords[i].first.second; coords[i].second = i; } coords[n + 1] = {{-1, -1}, 0}; sort(coords.begin() + 1, coords.end() - 1); build_tower = vector<bool>(n + 1, false); for (i = 1; i <= n; i++) { if (coords[i].first.first != coords[i + 1].first.first) { build_tower[coords[i].second] = true; } else if (coords[i].first.first != coords[i - 1].first.first) { build_tower[coords[i].second] = true; } } sort(coords.begin() + 1, coords.end(), [] (pair<pair<int, int>, int> a, pair<pair<int, int>, int> b) { if (a.first.second == b.first.second) { return a.first.first < b.first.first; } return a.first.second < b.first.second; }); for (i = 1; i <= n; i++) { if (coords[i].first.first != coords[i + 1].first.first) { build_tower[coords[i].second] = true; } else if (coords[i].first.first != coords[i - 1].first.first) { build_tower[coords[i].second] = true; } } for (i = 1; i <= n; i++) { cout << (build_tower[i] ? "1" : "0"); } return 0; }
#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...