#include "bits/stdc++.h" using namespace std; using ll = long long; #define all(x) x.begin(), x.end() int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n, m, s; cin >> n >> m >> s; vector <pair <ll, ll>> v(m); for (auto &[a, b] : v) { cin >> a >> b; } sort(all(v)); ll ans = -1e18; for (int i = 0; i < m; i++) { if (i == 0 || v[i].first - 1 > v[i - 1].second) { if (abs(ans - s) > abs(v[i].first - 1 - s) || (abs(ans - s) == abs(v[i].first - 1 - s) && v[i].first - 1 < ans)) { if (v[i].first - 1 != 0) ans = v[i].first - 1; } } if (i == m - 1 || v[i].second + 1 < v[i + 1].first) { if (abs(ans - s) > abs(v[i].second + 1 - s) || (abs(ans - s) == abs(v[i].second + 1 - s) && v[i].second + 1 < ans)) { if (v[i].second + 1 != n + 1) ans = v[i].second + 1; } } } cout << ans << '\n'; }
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 | #include "bits/stdc++.h" using namespace std; using ll = long long; #define all(x) x.begin(), x.end() int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); ll n, m, s; cin >> n >> m >> s; vector <pair <ll, ll>> v(m); for (auto &[a, b] : v) { cin >> a >> b; } sort(all(v)); ll ans = -1e18; for (int i = 0; i < m; i++) { if (i == 0 || v[i].first - 1 > v[i - 1].second) { if (abs(ans - s) > abs(v[i].first - 1 - s) || (abs(ans - s) == abs(v[i].first - 1 - s) && v[i].first - 1 < ans)) { if (v[i].first - 1 != 0) ans = v[i].first - 1; } } if (i == m - 1 || v[i].second + 1 < v[i + 1].first) { if (abs(ans - s) > abs(v[i].second + 1 - s) || (abs(ans - s) == abs(v[i].second + 1 - s) && v[i].second + 1 < ans)) { if (v[i].second + 1 != n + 1) ans = v[i].second + 1; } } } cout << ans << '\n'; } |