#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; } |
English