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