#include <iostream> #include <bits/stdc++.h> using namespace std; long long b; int r,s,kd,wyb; pair <int, int> p; vector <pair<int,int>> v; int sianie(int kd){ int l,p,j=0,git=0; for(int i=0;git!=2;i++){ for(int i=0;git!=1;i++){ if(v[kd-j].first-1!=v[kd-j-1].second){ l=v[kd-j].first-1; git++; } j++; } j=0; for(int i=0;git!=2;i++){ if(v[kd+j].second+1!=v[kd+j+1].first){ p=v[kd+j].second+1; git++; } j++; } } if(p-s<s-l){ return p; }else{ return l; } } int main() { cin>>b>>r>>s; for(int i=0;i<r;i++){ cin>>p.first>>p.second; v.push_back(p); } sort(v.begin(),v.end()); for(int i=0;i<r;i++){ if(v[i].first <= s && v[i].second >= s){ kd=i; break; } } int odp; odp=sianie(kd); 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 51 52 53 | #include <iostream> #include <bits/stdc++.h> using namespace std; long long b; int r,s,kd,wyb; pair <int, int> p; vector <pair<int,int>> v; int sianie(int kd){ int l,p,j=0,git=0; for(int i=0;git!=2;i++){ for(int i=0;git!=1;i++){ if(v[kd-j].first-1!=v[kd-j-1].second){ l=v[kd-j].first-1; git++; } j++; } j=0; for(int i=0;git!=2;i++){ if(v[kd+j].second+1!=v[kd+j+1].first){ p=v[kd+j].second+1; git++; } j++; } } if(p-s<s-l){ return p; }else{ return l; } } int main() { cin>>b>>r>>s; for(int i=0;i<r;i++){ cin>>p.first>>p.second; v.push_back(p); } sort(v.begin(),v.end()); for(int i=0;i<r;i++){ if(v[i].first <= s && v[i].second >= s){ kd=i; break; } } int odp; odp=sianie(kd); cout<<odp; return 0; } |