Submission #1171595

#TimeUsernameProblemLanguageResultExecution timeMemory
1171595hamzabcLightning Rod (NOI18_lightningrod)C++20
66 / 100
1101 ms161400 KiB
#include <bits/stdc++.h> using namespace std; #define all(x) x.begin(), x.end() #define mod 1000000007 #define sp << " " << #define endl << '\n' int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int N; cin >> N; vector<pair<long long, long long>> building(N); for (int i = 0; i < N; i++){ cin >> building[i].second >> building[i].first; } sort(all(building), greater<>{}); set<pair<long long, long long>> plane; for (int i = 0; i < N; i++){ set<pair<long long, long long>>::iterator nx = plane.lower_bound({ building[i].second, building[i].first }), pr; if (nx != plane.begin()) pr = prev(nx); if (nx != plane.end() && abs(nx->first - building[i].second) <= nx->second - building[i].first){ continue; } if (nx != plane.begin() && abs(pr->first - building[i].second) <= pr->second - building[i].first){ continue; } plane.insert({ building[i].second, building[i].first }); } cout << plane.size(); 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...