#include <bits/stdc++.h> using namespace std; #define st first #define nd second #define pb push_back vector<pair<long long,long long>>wcz; vector<pair<long long,long long>>prz; long long n,m,s,l,r; long long nr; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>s; prz.pb({0,0}); for(long long i=0;i<m;i++) { cin>>l>>r; wcz.pb({l,r}); } sort(wcz.begin(), wcz.end()); for(long long i=0;i<m;i++) { l=wcz[i].st; r=wcz[i].nd; if(prz.back().nd+1==l) prz.back().nd=r; else prz.push_back({l,r}); if(prz.back().st <= s && s <= prz.back().nd) nr=prz.size()-1; } long long odp; l=prz[nr].st-1; r=prz[nr].nd+1; if(l<1) odp=r; else if(r>n) odp=l; else if(abs(l-s)<=abs(r-s)) odp=l; else odp=r; cout<<odp; 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 | #include <bits/stdc++.h> using namespace std; #define st first #define nd second #define pb push_back vector<pair<long long,long long>>wcz; vector<pair<long long,long long>>prz; long long n,m,s,l,r; long long nr; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cin>>n>>m>>s; prz.pb({0,0}); for(long long i=0;i<m;i++) { cin>>l>>r; wcz.pb({l,r}); } sort(wcz.begin(), wcz.end()); for(long long i=0;i<m;i++) { l=wcz[i].st; r=wcz[i].nd; if(prz.back().nd+1==l) prz.back().nd=r; else prz.push_back({l,r}); if(prz.back().st <= s && s <= prz.back().nd) nr=prz.size()-1; } long long odp; l=prz[nr].st-1; r=prz[nr].nd+1; if(l<1) odp=r; else if(r>n) odp=l; else if(abs(l-s)<=abs(r-s)) odp=l; else odp=r; cout<<odp; return 0; } |