#include<iostream>
#include<vector>
#include<utility>
#include<algorithm>
#define ll long long
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);cout.tie(NULL);
ll n,m,s,a,b;
cin>>n>>m>>s;
vector < pair < ll,ll > > tab;
for(int i = 0;i<m;++i){
cin>>a>>b;
tab.push_back({a,b});
}
sort(tab.begin(),tab.end());
int i = 0;
while(i+1<tab.size()){
if(tab[i].second+1==tab[i+1].first){
tab[i+1].first = tab[i].first;
tab.erase(tab.begin()+i,tab.begin()+i+1);
--i;
}
i+=1;
}
for (auto p : tab){
if(s>=p.first && s<=p.second){
if(p.first==1){
cout<<p.second+1;
}
else if(p.second==n){
cout<<p.first-1;
}
else{
if(abs(p.first-s)<=abs(p.second-s)){
cout<<p.first-1;
}
else{
cout<<p.second+1;
}
}
break;
}
}
}
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 | #include<iostream> #include<vector> #include<utility> #include<algorithm> #define ll long long using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL);cout.tie(NULL); ll n,m,s,a,b; cin>>n>>m>>s; vector < pair < ll,ll > > tab; for(int i = 0;i<m;++i){ cin>>a>>b; tab.push_back({a,b}); } sort(tab.begin(),tab.end()); int i = 0; while(i+1<tab.size()){ if(tab[i].second+1==tab[i+1].first){ tab[i+1].first = tab[i].first; tab.erase(tab.begin()+i,tab.begin()+i+1); --i; } i+=1; } for (auto p : tab){ if(s>=p.first && s<=p.second){ if(p.first==1){ cout<<p.second+1; } else if(p.second==n){ cout<<p.first-1; } else{ if(abs(p.first-s)<=abs(p.second-s)){ cout<<p.first-1; } else{ cout<<p.second+1; } } break; } } } |
English