#include <bits/stdc++.h>
using namespace std;
int main()
{
long long n,m,s;
cin>>n>>m>>s;
vector<pair<long long,long long>> prz(m);
for(int i =0;i<m;i++)
{
cin>>prz[i].first>>prz[i].second;
}
sort(prz.begin(),prz.end());
vector<pair<long long,long long>> prz2;
prz2.push_back(prz[0]);
for(int i = 1;i<m;i++)
{
if(prz[i].first-1 == prz[i-1].second)
{
prz2.back().second = prz[i].second;
}
else
{
prz2.push_back(prz[i]);
}
}
long long ans;
for(int i = 0;i<prz2.size();i++)
{
if(prz2[i].first <= s && s <= prz2[i].second)
{
if(prz2[i].first == 1)
{
ans = prz2[i].second+1;
}
else if(prz2[i].second == n)
{
ans = prz2[i].first-1;
}
else if(s-prz2[i].first <= prz2[i].second - s)
{
ans = prz2[i].first-1;
}
else
{
ans = prz2[i].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 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #include <bits/stdc++.h> using namespace std; int main() { long long n,m,s; cin>>n>>m>>s; vector<pair<long long,long long>> prz(m); for(int i =0;i<m;i++) { cin>>prz[i].first>>prz[i].second; } sort(prz.begin(),prz.end()); vector<pair<long long,long long>> prz2; prz2.push_back(prz[0]); for(int i = 1;i<m;i++) { if(prz[i].first-1 == prz[i-1].second) { prz2.back().second = prz[i].second; } else { prz2.push_back(prz[i]); } } long long ans; for(int i = 0;i<prz2.size();i++) { if(prz2[i].first <= s && s <= prz2[i].second) { if(prz2[i].first == 1) { ans = prz2[i].second+1; } else if(prz2[i].second == n) { ans = prz2[i].first-1; } else if(s-prz2[i].first <= prz2[i].second - s) { ans = prz2[i].first-1; } else { ans = prz2[i].second+1; } } } cout<<ans; } |
English