#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
#define int long long
#define pii pair<int, int>
#define fi first
#define se second
const int INF = 1e15 + 7;
void solve(){
int n, m, s;
cin >> n >> m >> s;
map<int, int> used;
vector<int> pos;
for(int i = 1; i <= m; i++){
int l, r;
cin >> l >> r;
used[l] = used[r] = 1;
pos.push_back(l - 1);
pos.push_back(r + 1);
}
int ans = INF, ind = 1e12 + 1;
for(auto u : pos){
if(used[u] || u < 1 || u > n) continue;
if(abs(u - s) < ans){
ans = abs(u - s);
ind = u;
}
else if(abs(u - s) == ans){
ind = min(ind, u);
}
}
cout << ind << '\n';
}
bool multi = 0;
signed main(){
ios_base::sync_with_stdio(0);
cin.tie(0); cout.tie(0);
int t = 1;
if(multi) cin >> t;
while(t--) solve();
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 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 | #include <bits/stdc++.h> using namespace std; typedef long long ll; #define int long long #define pii pair<int, int> #define fi first #define se second const int INF = 1e15 + 7; void solve(){ int n, m, s; cin >> n >> m >> s; map<int, int> used; vector<int> pos; for(int i = 1; i <= m; i++){ int l, r; cin >> l >> r; used[l] = used[r] = 1; pos.push_back(l - 1); pos.push_back(r + 1); } int ans = INF, ind = 1e12 + 1; for(auto u : pos){ if(used[u] || u < 1 || u > n) continue; if(abs(u - s) < ans){ ans = abs(u - s); ind = u; } else if(abs(u - s) == ans){ ind = min(ind, u); } } cout << ind << '\n'; } bool multi = 0; signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t = 1; if(multi) cin >> t; while(t--) solve(); return 0; } |
English