#include <bits/stdc++.h>
#define FOR(i, a, b) for(int i = a; i <= b; ++i)
#define RFOR(i, a, b) for(int i = a; i >= b; --i)
#define in insert
#define pb push_back
#define f first
#define s second
#define ll long long
#define ull unsigned long long
#define V vector
#define S set
#define eb emplace_back
#define P pair<long long, long long>
#define MS multiset
#define BS bitset
using namespace std;
void solve() {
ll n, m, r;
cin >> n >> m >> r;
vector<P> pr(m);
for (int i = 0; i < m; i++) {
cin >> pr[i].first >> pr[i].second;
}
sort(pr.begin(), pr.end());
ll res = LLONG_MAX, wyn = -1;
if (pr[0].first > 1) {
ll kand = pr[0].first - 1;
if (abs(r - kand) < res) {
res = abs(r - kand);
wyn = kand;
}
}
FOR(i, 1, m - 1) {
if (pr[i - 1].second + 1 < pr[i].first) {
ll kand1 = pr[i - 1].second + 1;
ll kand2 = pr[i].first - 1;
if (abs(r - kand1) < res) {
res = abs(r - kand1);
wyn = kand1;
}
if (abs(r - kand2) < res) {
res = abs(r - kand2);
wyn = kand2;
}
}
}
if (pr[m - 1].second < n) {
ll kand = pr[m - 1].second + 1;
if (abs(r - kand) < res) {
res = abs(r - kand);
wyn = kand;
}
}
cout << wyn << "\n";
}
int main() {
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
solve();
}
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 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | #include <bits/stdc++.h> #define FOR(i, a, b) for(int i = a; i <= b; ++i) #define RFOR(i, a, b) for(int i = a; i >= b; --i) #define in insert #define pb push_back #define f first #define s second #define ll long long #define ull unsigned long long #define V vector #define S set #define eb emplace_back #define P pair<long long, long long> #define MS multiset #define BS bitset using namespace std; void solve() { ll n, m, r; cin >> n >> m >> r; vector<P> pr(m); for (int i = 0; i < m; i++) { cin >> pr[i].first >> pr[i].second; } sort(pr.begin(), pr.end()); ll res = LLONG_MAX, wyn = -1; if (pr[0].first > 1) { ll kand = pr[0].first - 1; if (abs(r - kand) < res) { res = abs(r - kand); wyn = kand; } } FOR(i, 1, m - 1) { if (pr[i - 1].second + 1 < pr[i].first) { ll kand1 = pr[i - 1].second + 1; ll kand2 = pr[i].first - 1; if (abs(r - kand1) < res) { res = abs(r - kand1); wyn = kand1; } if (abs(r - kand2) < res) { res = abs(r - kand2); wyn = kand2; } } } if (pr[m - 1].second < n) { ll kand = pr[m - 1].second + 1; if (abs(r - kand) < res) { res = abs(r - kand); wyn = kand; } } cout << wyn << "\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); solve(); } |
English