#include <bits/stdc++.h>
#define LL long long
#define endl '\n'
using namespace std;
vector<pair<LL,LL>> tab,tab2;
int main()
{
std::ios_base::sync_with_stdio(0);
cout.tie(0);
cin.tie(0);
LL n,m,s; cin>>n>>m>>s;
for(LL i=0;i<m;i++){
LL a,b; cin>>a>>b;
tab.push_back({a,b});
}
sort(tab.begin(),tab.end());
LL ans=1e18;
if(tab[0].first!=1) if(abs(s-tab[0].first+1)<abs(s-ans)) ans=tab[0].first-1;
if(m>=2) if(abs(s-tab[0].second-1)<abs(s-ans)&&tab[0].second!=tab[1].first-1) ans=tab[0].second+1;
for(int i=1;i<m-1;i++){
if(abs(s-tab[i].first+1)<abs(s-ans)&&tab[i].first!=tab[i-1].second+1) ans=tab[i].first-1;
if(abs(s-tab[i].second-1)<abs(s-ans)&&tab[i].second!=tab[i+1].first-1) ans=tab[i].second+1;
}
if(m>=2) if(abs(s-tab[m-1].first+1)<abs(s-ans)&&tab[m-1].first!=tab[m-2].second+1) ans=tab[m-1].first-1;
if(tab[m-1].second!=n) if(abs(s-tab[m-1].second-1)<abs(s-ans)) ans=tab[m-1].second+1;
cout<<ans;
}
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 | #include <bits/stdc++.h> #define LL long long #define endl '\n' using namespace std; vector<pair<LL,LL>> tab,tab2; int main() { std::ios_base::sync_with_stdio(0); cout.tie(0); cin.tie(0); LL n,m,s; cin>>n>>m>>s; for(LL i=0;i<m;i++){ LL a,b; cin>>a>>b; tab.push_back({a,b}); } sort(tab.begin(),tab.end()); LL ans=1e18; if(tab[0].first!=1) if(abs(s-tab[0].first+1)<abs(s-ans)) ans=tab[0].first-1; if(m>=2) if(abs(s-tab[0].second-1)<abs(s-ans)&&tab[0].second!=tab[1].first-1) ans=tab[0].second+1; for(int i=1;i<m-1;i++){ if(abs(s-tab[i].first+1)<abs(s-ans)&&tab[i].first!=tab[i-1].second+1) ans=tab[i].first-1; if(abs(s-tab[i].second-1)<abs(s-ans)&&tab[i].second!=tab[i+1].first-1) ans=tab[i].second+1; } if(m>=2) if(abs(s-tab[m-1].first+1)<abs(s-ans)&&tab[m-1].first!=tab[m-2].second+1) ans=tab[m-1].first-1; if(tab[m-1].second!=n) if(abs(s-tab[m-1].second-1)<abs(s-ans)) ans=tab[m-1].second+1; cout<<ans; } |
English