#include <bits/stdc++.h>
using namespace std;
#define ll long long
ll MIN(ll a,ll b){
if(a<b)
return a;
return b;
}
int main(){
ll n,s;
int m;
cin >> n >> m >> s;
vector<pair<ll,ll>>V(m);
for(int i = 0;i<m;i++){
ll a,b;
cin >> a >> b;
V[i] = {a,b};
}
if(m==0){
if(s-1>0)
cout << s-1 << '\n';
else
cout << s+1 <<'\n';
return 0;
}
sort(V.begin(),V.end());
vector<pair<ll,ll>>tab;
tab.push_back(V[0]);
for(int i = 1;i<m;i++){
if(tab[tab.size()-1].second == V[i].first-1)
tab[tab.size()-1].second = V[i].second;
else{
tab.push_back(V[i]);
}
}
for(auto x:tab){
if(x.first<=s&&s<=x.second){
if(x.first-1>0&&x.second+1<=n)
if(abs(x.first-1-s)<=abs(x.second+1-s))
cout << x.first-1 << '\n';
else
cout << x.second+1 << '\n';
else if(x.first-1>0)
cout <<x.first-1 << '\n';
else
cout <<x.second+1 << '\n';
}
}
/*
for(auto x:tab){
cout << x.first << ' ' << x.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 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | #include <bits/stdc++.h> using namespace std; #define ll long long ll MIN(ll a,ll b){ if(a<b) return a; return b; } int main(){ ll n,s; int m; cin >> n >> m >> s; vector<pair<ll,ll>>V(m); for(int i = 0;i<m;i++){ ll a,b; cin >> a >> b; V[i] = {a,b}; } if(m==0){ if(s-1>0) cout << s-1 << '\n'; else cout << s+1 <<'\n'; return 0; } sort(V.begin(),V.end()); vector<pair<ll,ll>>tab; tab.push_back(V[0]); for(int i = 1;i<m;i++){ if(tab[tab.size()-1].second == V[i].first-1) tab[tab.size()-1].second = V[i].second; else{ tab.push_back(V[i]); } } for(auto x:tab){ if(x.first<=s&&s<=x.second){ if(x.first-1>0&&x.second+1<=n) if(abs(x.first-1-s)<=abs(x.second+1-s)) cout << x.first-1 << '\n'; else cout << x.second+1 << '\n'; else if(x.first-1>0) cout <<x.first-1 << '\n'; else cout <<x.second+1 << '\n'; } } /* for(auto x:tab){ cout << x.first << ' ' << x.second << '\n'; } */ return 0; } |
English