#include<bits/stdc++.h>
using namespace std;
#define ll long long
ll l, r, n, m, mini = LLONG_MAX, s, res;
vector<pair<ll ,ll>> zaj;
int main(){
ios_base::sync_with_stdio(0); cin.tie(0);
cin>>n>>m>>s;
zaj.push_back( {0, 0} );
zaj.push_back( {LLONG_MAX, LLONG_MAX} );
for(ll i = 0; i<m; i++){
cin>>l>>r;
zaj.push_back( {l, r} );
}
sort(zaj.begin(), zaj.end());
ll a, b;
for(ll i = 1; i<=m; i++){
l = zaj[i].first;
r = zaj[i].second;
a = l-1;
b = r+1;
if(a > 0 and a > zaj[i-1].second){
if(abs(s-a) < mini){
mini = abs(s-a);
res = a;
}
}
if(b <= n and b < zaj[i+1].first){
if(abs(s-b) < mini){
mini = abs(s-b);
res = b;
}
}
}
cout<<res;
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> using namespace std; #define ll long long ll l, r, n, m, mini = LLONG_MAX, s, res; vector<pair<ll ,ll>> zaj; int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>s; zaj.push_back( {0, 0} ); zaj.push_back( {LLONG_MAX, LLONG_MAX} ); for(ll i = 0; i<m; i++){ cin>>l>>r; zaj.push_back( {l, r} ); } sort(zaj.begin(), zaj.end()); ll a, b; for(ll i = 1; i<=m; i++){ l = zaj[i].first; r = zaj[i].second; a = l-1; b = r+1; if(a > 0 and a > zaj[i-1].second){ if(abs(s-a) < mini){ mini = abs(s-a); res = a; } } if(b <= n and b < zaj[i+1].first){ if(abs(s-b) < mini){ mini = abs(s-b); res = b; } } } cout<<res; return 0; } |
English