#include <iostream>
#include <algorithm>
using namespace std;
typedef long long ll;
typedef pair<ll, ll> ll2;
const int N = 1009;
ll2 S[N];
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
ll n, p;
int m; cin >> n >> m >> p;
for(int i = 1; i <= m; ++i) {
cin >> S[i].first >> S[i].second;
}
sort(S+1, S+m+1);
ll l = 0;
if(S[1].first != 1) {
l = S[1].first-1;
}
for(int i = 2; i <= m; ++i) {
if(S[i].first <= p && S[i].first > S[i-1].second+1) {
l = S[i].first-1;
}
}
ll r = n+1;
if(S[m].second != n) {
r = S[m].second+1;
}
for(int i = m-1; i >= 1; --i) {
if(S[i].second >= p && S[i].second < S[i+1].first-1) {
r = S[i].second+1;
}
}
if(l == 0) {
cout << r << "\n";
}
else if(r == n+1) {
cout << l << "\n";
}
else if(r-p < p-l) {
cout << r << "\n";
}
else cout << l << "\n";
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 50 51 52 53 | #include <iostream> #include <algorithm> using namespace std; typedef long long ll; typedef pair<ll, ll> ll2; const int N = 1009; ll2 S[N]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll n, p; int m; cin >> n >> m >> p; for(int i = 1; i <= m; ++i) { cin >> S[i].first >> S[i].second; } sort(S+1, S+m+1); ll l = 0; if(S[1].first != 1) { l = S[1].first-1; } for(int i = 2; i <= m; ++i) { if(S[i].first <= p && S[i].first > S[i-1].second+1) { l = S[i].first-1; } } ll r = n+1; if(S[m].second != n) { r = S[m].second+1; } for(int i = m-1; i >= 1; --i) { if(S[i].second >= p && S[i].second < S[i+1].first-1) { r = S[i].second+1; } } if(l == 0) { cout << r << "\n"; } else if(r == n+1) { cout << l << "\n"; } else if(r-p < p-l) { cout << r << "\n"; } else cout << l << "\n"; return 0; } |
English