#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const ll INF=1e17;
void solve()
{
ll n,s;
int m;
cin >> n >> m >> s;
vector<pair<ll,ll>> W;
for(int i=0;i<m;i++){
ll l,r;
cin >> l >> r;
W.push_back({l,r});
}
ll ans=INF, ansid=0;
W.push_back({0,0});
W.push_back({n+1,n+1});
sort(W.begin(), W.end());
for(int i=0;i<m+1;i++){
if(W[i].second < W[i+1].first-1){
if(abs(W[i].second+1 - s) < ans){
ans=abs(W[i].second+1 - s);
ansid=W[i].second+1;
}
if(abs(W[i+1].first-1 - s) < ans){
ans=abs(W[i+1].first-1 - s);
ansid=W[i+1].first-1;
}
}
}
cout << ansid;
}
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
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 | #include <bits/stdc++.h> using namespace std; typedef long long ll; const ll INF=1e17; void solve() { ll n,s; int m; cin >> n >> m >> s; vector<pair<ll,ll>> W; for(int i=0;i<m;i++){ ll l,r; cin >> l >> r; W.push_back({l,r}); } ll ans=INF, ansid=0; W.push_back({0,0}); W.push_back({n+1,n+1}); sort(W.begin(), W.end()); for(int i=0;i<m+1;i++){ if(W[i].second < W[i+1].first-1){ if(abs(W[i].second+1 - s) < ans){ ans=abs(W[i].second+1 - s); ansid=W[i].second+1; } if(abs(W[i+1].first-1 - s) < ans){ ans=abs(W[i+1].first-1 - s); ansid=W[i+1].first-1; } } } cout << ansid; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); solve(); return 0; } |
English