#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main()
{
ios::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
ll n;
int m;
ll s;
cin>>n>>m>>s;
map<ll,int> ban;
vector<ll> vec={1,n};
for(int i=1;i<=m;i++)
{
ll l,r;
cin>>l>>r;
if(l!=1)
vec.push_back(l-1);
if(r!=n)
vec.push_back(r+1);
ban[l]=ban[r]=1;
}
ll ans=-1;
for(auto pos:vec)
if(!ban[pos])
{
if(ans==-1) ans=pos;
else if(abs(pos-s)<abs(ans-s))
ans=pos;
else if(abs(pos-s)==abs(ans-s)&&pos<ans)
ans=pos;
}
cout<<ans<<'\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 | #include<bits/stdc++.h> using namespace std; using ll=long long; int main() { ios::sync_with_stdio(false); cin.tie(0); cout.tie(0); ll n; int m; ll s; cin>>n>>m>>s; map<ll,int> ban; vector<ll> vec={1,n}; for(int i=1;i<=m;i++) { ll l,r; cin>>l>>r; if(l!=1) vec.push_back(l-1); if(r!=n) vec.push_back(r+1); ban[l]=ban[r]=1; } ll ans=-1; for(auto pos:vec) if(!ban[pos]) { if(ans==-1) ans=pos; else if(abs(pos-s)<abs(ans-s)) ans=pos; else if(abs(pos-s)==abs(ans-s)&&pos<ans) ans=pos; } cout<<ans<<'\n'; return 0; } |
English