#include <bits/stdc++.h> int main(){ std::ios_base::sync_with_stdio(0); std::cin.tie(0); long long a, c, d, e; std::cin >> a; std::vector<bool>v(a); int b; std::cin >> b >> c; while(b--){ std::cin >> d >> e; for(long long i = d-1; i < e; i++)v[i] = 1; } e = -1; for(long long i = c-2;i >= 0;i--){ if(v[i] == 0){ e = i+1; break; } } d = -1; for(long long i = c;i < v.size();i++){ if(v[i] == 0){ d = i+1; break; } } if(d == -1)std::cout << e; else if(e == -1)std::cout << d; else{ if(d-c == c-e){ std::cout << e; } else if(d-c < c-e){ std::cout << d; } else std::cout << e; } return 0; }
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 33 34 35 36 37 38 39 40 41 | #include <bits/stdc++.h> int main(){ std::ios_base::sync_with_stdio(0); std::cin.tie(0); long long a, c, d, e; std::cin >> a; std::vector<bool>v(a); int b; std::cin >> b >> c; while(b--){ std::cin >> d >> e; for(long long i = d-1; i < e; i++)v[i] = 1; } e = -1; for(long long i = c-2;i >= 0;i--){ if(v[i] == 0){ e = i+1; break; } } d = -1; for(long long i = c;i < v.size();i++){ if(v[i] == 0){ d = i+1; break; } } if(d == -1)std::cout << e; else if(e == -1)std::cout << d; else{ if(d-c == c-e){ std::cout << e; } else if(d-c < c-e){ std::cout << d; } else std::cout << e; } return 0; } |