// Witold Milewski
// PA 2025
#include <bits/stdc++.h>
using namespace std;
#define FOR(i, a, b) for(int i=a; i<=b; ++i)
#define FORB(i, b, a) for(int i=b; i>=a; --i)
#define sz(A) (int)(A.size())
#define ll long long
#define eb emplace_back
#define pb push_back
#define pi pair<int, int>
#define f first
#define s second
#define rs resize
#define V vector
ll n, s;
int m;
pair<ll, ll> wyn;
map<ll, bool> zaj;
bool check(ll x) {
if(zaj[x]==1) return 0;
return (1<=x && x<=n);
}
void minimuj(ll x) {
wyn=min(wyn, {abs(x-s), x});
}
signed main() {
cin.tie(0) -> ios_base::sync_with_stdio(0);
wyn = {1e18, 1e18};
cin >> n >> m >> s;
V<pair<ll, ll>> prz;
ll l, r;
FOR(i, 1, m) {
cin >> l >> r;
zaj[l]=1;
zaj[r]=1;
prz.pb({l, r});
}
for(auto [l, r] : prz) {
if(check(l-1)) minimuj(l-1);
if(check(r+1)) minimuj(r+1);
}
cout << wyn.s << '\n';
}
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 | // Witold Milewski // PA 2025 #include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for(int i=a; i<=b; ++i) #define FORB(i, b, a) for(int i=b; i>=a; --i) #define sz(A) (int)(A.size()) #define ll long long #define eb emplace_back #define pb push_back #define pi pair<int, int> #define f first #define s second #define rs resize #define V vector ll n, s; int m; pair<ll, ll> wyn; map<ll, bool> zaj; bool check(ll x) { if(zaj[x]==1) return 0; return (1<=x && x<=n); } void minimuj(ll x) { wyn=min(wyn, {abs(x-s), x}); } signed main() { cin.tie(0) -> ios_base::sync_with_stdio(0); wyn = {1e18, 1e18}; cin >> n >> m >> s; V<pair<ll, ll>> prz; ll l, r; FOR(i, 1, m) { cin >> l >> r; zaj[l]=1; zaj[r]=1; prz.pb({l, r}); } for(auto [l, r] : prz) { if(check(l-1)) minimuj(l-1); if(check(r+1)) minimuj(r+1); } cout << wyn.s << '\n'; } |
English