#include <bits/stdc++.h>
using namespace std;
#define int long long
int n, m, s;
vector<pair<int, int>> v;
pair<int, int> ans = {1e18, -1};
void check(int x){
if(x == 0 || x == n+1) return;
if(ans.first > abs(s-x)){
ans = {abs(s-x), x};
}
}
signed main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
cin >> n >> m >> s;
for(int i=0; i<m; i++){
int a, b;
cin >> a >> b;
v.push_back({a,b});
}
sort(v.begin(), v.end());
for(int i=0; i<v.size(); i++){
int a = v[i].first, b = v[i].second;
if(i == 0 || v[i-1].second < a-1) check(a-1);
if(i+1 == m || v[i+1].first > b+1) check(b+1);
}
cout << ans.second << '\n';
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 | #include <bits/stdc++.h> using namespace std; #define int long long int n, m, s; vector<pair<int, int>> v; pair<int, int> ans = {1e18, -1}; void check(int x){ if(x == 0 || x == n+1) return; if(ans.first > abs(s-x)){ ans = {abs(s-x), x}; } } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m >> s; for(int i=0; i<m; i++){ int a, b; cin >> a >> b; v.push_back({a,b}); } sort(v.begin(), v.end()); for(int i=0; i<v.size(); i++){ int a = v[i].first, b = v[i].second; if(i == 0 || v[i-1].second < a-1) check(a-1); if(i+1 == m || v[i+1].first > b+1) check(b+1); } cout << ans.second << '\n'; return 0; } |
English