#include "bits/stdc++.h" using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); vector <pair<int,int>> zajete; long long int n, t, s, l, p, a, b, odleglosc = LLONG_MAX, budynek = -1; cin>>n>>t>>s; while(t--){ cin>>a>>b; zajete.push_back(make_pair(a,b)); } sort(zajete.begin(), zajete.end()); for(l=s-1;l>=1;l--){ bool zajety = false; for(auto x:zajete){ if(l>=x.first&&l<=x.second) zajety=true; } if(!zajety){ budynek = l; odleglosc = abs(s-l); break; } } for(l=s+1;l<=n;l++){ bool zajety = false; for(auto x:zajete){ if(l>=x.first&&l<=x.second) zajety=true; } if(!zajety && odleglosc>abs(s-l)){ odleglosc = abs(s-l); budynek = l; break; } } cout<<budynek<<endl; 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 | #include "bits/stdc++.h" using namespace std; int main(){ ios_base::sync_with_stdio(false); cin.tie(NULL); vector <pair<int,int>> zajete; long long int n, t, s, l, p, a, b, odleglosc = LLONG_MAX, budynek = -1; cin>>n>>t>>s; while(t--){ cin>>a>>b; zajete.push_back(make_pair(a,b)); } sort(zajete.begin(), zajete.end()); for(l=s-1;l>=1;l--){ bool zajety = false; for(auto x:zajete){ if(l>=x.first&&l<=x.second) zajety=true; } if(!zajety){ budynek = l; odleglosc = abs(s-l); break; } } for(l=s+1;l<=n;l++){ bool zajety = false; for(auto x:zajete){ if(l>=x.first&&l<=x.second) zajety=true; } if(!zajety && odleglosc>abs(s-l)){ odleglosc = abs(s-l); budynek = l; break; } } cout<<budynek<<endl; return 0; } |