Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int main() {
- int n;
- cin >> n;
- pair<int, int> a[n];
- for (auto &i : a) {
- cin >> i.first >> i.second;
- }
- int m;
- cin >> m;
- int points[m];
- for (auto &i : points) {
- cin >> i;
- }
- vector<pair<int, int>> queries;
- for (auto [l, r] : a) {
- queries.emplace_back(l, -1);
- queries.emplace_back(r, 1);
- }
- for (auto i : points) {
- queries.emplace_back(i, 0);
- }
- sort(queries.begin(), queries.end());
- int ans = 0;
- pair<int, int> mx_ans = {-1, -1};
- for (auto [query, type] : queries) {
- if (type == -1) {
- ans++;
- } else if (type == 0) {
- if (mx_ans.second < ans) {
- mx_ans = {query, ans};
- }
- } else {
- ans--;
- }
- }
- cout << mx_ans.first;
- }
Advertisement
Add Comment
Please, Sign In to add comment