#include <iostream> #include <vector> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n, m, s; cin >> n >> m >> s; vector<bool> v(n + 1, false); v[0] = true; v[s] = true; while (m--) { long long x, y; cin >> x >> y; for (long long i = x; i <= y; i++) v[i] = true; } long long l = s - 1, r = s + 1; while (v[l] && l) l--; while (v[r] && r <= n) r++; if (!v[l] && s - l <= r - s) cout << l; else cout << r; }
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 <iostream> #include <vector> using namespace std; int main() { ios::sync_with_stdio(0); cin.tie(0); cout.tie(0); long long n, m, s; cin >> n >> m >> s; vector<bool> v(n + 1, false); v[0] = true; v[s] = true; while (m--) { long long x, y; cin >> x >> y; for (long long i = x; i <= y; i++) v[i] = true; } long long l = s - 1, r = s + 1; while (v[l] && l) l--; while (v[r] && r <= n) r++; if (!v[l] && s - l <= r - s) cout << l; else cout << r; } |