Submission #1199843

#TimeUsernameProblemLanguageResultExecution timeMemory
1199843BoomydayAdvertisement 2 (JOI23_ho_t2)C++20
100 / 100
1578 ms47368 KiB
// // Created by adavy on 5/11/2025. // #include <bits/stdc++.h> using namespace std; using ll = long long; int main(){ int N; cin >> N; map<int,int> nums; for(int i=0;i<N;++i){ int x, v; cin >> x >> v; if (nums.find(x) == nums.end()){ nums[x] = v; } else { nums[x] = max(nums[x], v); } } multiset<int, greater<int>> left, right; for(auto&[k, v]:nums){ right.insert(v-k); } int ans = 0; for(auto&[k,v]:nums){ right.erase(right.find(v-k)); // output right if (!((!right.empty() && *right.begin()>=v-k) || (!left.empty() && *left.begin()>=v+k))){ ans++; } left.insert(v+k); } cout << ans << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...