#include <bits/stdc++.h>
#define ll long long
using namespace std;
const int M = 1e3 + 5;
ll n, m, s, a, b, res;
vector<pair<ll, ll>> v;
int main() {
cin >> n >> m >> s;
for(int i = 1 ; i<=m ; i++){
cin >> a >> b;
v.push_back({a, b});
}
sort(v.begin(), v.end());
a = v[0].first;
b = v[0].second;
for(int i = 1 ; i<=m ; i++){
if (v[i].first == b + 1) {
b = v[i].second;
}
else {
if (s >= a && s <= b) {
break;
}
a = v[i].first;
b = v[i].second;
}
}
if(a == 1) res = b+1;
else if(b == n) res = a-1;
else if (s - a <= b - s) res = a - 1;
else res = b + 1;
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 | #include <bits/stdc++.h> #define ll long long using namespace std; const int M = 1e3 + 5; ll n, m, s, a, b, res; vector<pair<ll, ll>> v; int main() { cin >> n >> m >> s; for(int i = 1 ; i<=m ; i++){ cin >> a >> b; v.push_back({a, b}); } sort(v.begin(), v.end()); a = v[0].first; b = v[0].second; for(int i = 1 ; i<=m ; i++){ if (v[i].first == b + 1) { b = v[i].second; } else { if (s >= a && s <= b) { break; } a = v[i].first; b = v[i].second; } } if(a == 1) res = b+1; else if(b == n) res = a-1; else if (s - a <= b - s) res = a - 1; else res = b + 1; cout << res << "\n"; } |
English