#include <bits/stdc++.h>
using namespace std;
#define loop(i, a, b) for(int i = a; i <= b; i++)
#define all(x) x.begin(), x.end()
#define pb push_back
using ll = int64_t;
int main() {
cin.tie(0)->sync_with_stdio(0);
ll m; cin >> m;
int n; cin >> n;
ll s; cin >> s;
vector<pair<ll, ll>> ranges;
map<ll, int> used;
loop(i, 1, n) {
ll a, b; cin >> a >> b;
ranges.pb({ a, b });
used[a] = used[b] = 1;
}
sort(all(ranges));
ll res = 1e18;
for(auto [ a, b ] : ranges) {
for(ll coord : { a-1, b+1 }) {
if(coord < 1 || coord > m) continue;
if(used[coord]) continue;
if(abs(s - coord) < abs(s - res)) {
res = coord;
}
}
}
cout << res << '\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 | #include <bits/stdc++.h> using namespace std; #define loop(i, a, b) for(int i = a; i <= b; i++) #define all(x) x.begin(), x.end() #define pb push_back using ll = int64_t; int main() { cin.tie(0)->sync_with_stdio(0); ll m; cin >> m; int n; cin >> n; ll s; cin >> s; vector<pair<ll, ll>> ranges; map<ll, int> used; loop(i, 1, n) { ll a, b; cin >> a >> b; ranges.pb({ a, b }); used[a] = used[b] = 1; } sort(all(ranges)); ll res = 1e18; for(auto [ a, b ] : ranges) { for(ll coord : { a-1, b+1 }) { if(coord < 1 || coord > m) continue; if(used[coord]) continue; if(abs(s - coord) < abs(s - res)) { res = coord; } } } cout << res << '\n'; } |
English