#include <bits/stdc++.h> using namespace std; #define ll long long pair<ll, ll> zaj[1007]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll n, m, s; cin >> n >> m >> s; for (int i = 0; i < m; i++) { cin >> zaj[i].first >> zaj[i].second; } sort(zaj, zaj + m); int p = 0; while (zaj[p].second < s) p++; pair<ll, ll> wyn = {n, n}; int za = p; while (za < m - 1 && zaj[za].second + 1 == zaj[za + 1].first) za++; if (zaj[za].second + 1 <= n) { wyn = min(wyn, {(zaj[za].second + 1) - s, (zaj[za].second + 1)}); } int przed = p; while (przed > 0 && zaj[przed - 1].second + 1 == zaj[przed].first) przed--; if (zaj[przed].first - 1 >= 1) { wyn = min(wyn, {s - (zaj[przed].first - 1), (zaj[przed].first - 1)}); } //cout << "za = " << za << " przed = " << przed << "\n"; cout << wyn.second << "\n"; // cout << "p = " << p << "\n"; // for (int i = 0; i < m; i++) { // cout << zaj[i].first << " " << zaj[i].second << "\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 | #include <bits/stdc++.h> using namespace std; #define ll long long pair<ll, ll> zaj[1007]; int main() { ios_base::sync_with_stdio(0); cin.tie(0); ll n, m, s; cin >> n >> m >> s; for (int i = 0; i < m; i++) { cin >> zaj[i].first >> zaj[i].second; } sort(zaj, zaj + m); int p = 0; while (zaj[p].second < s) p++; pair<ll, ll> wyn = {n, n}; int za = p; while (za < m - 1 && zaj[za].second + 1 == zaj[za + 1].first) za++; if (zaj[za].second + 1 <= n) { wyn = min(wyn, {(zaj[za].second + 1) - s, (zaj[za].second + 1)}); } int przed = p; while (przed > 0 && zaj[przed - 1].second + 1 == zaj[przed].first) przed--; if (zaj[przed].first - 1 >= 1) { wyn = min(wyn, {s - (zaj[przed].first - 1), (zaj[przed].first - 1)}); } //cout << "za = " << za << " przed = " << przed << "\n"; cout << wyn.second << "\n"; // cout << "p = " << p << "\n"; // for (int i = 0; i < m; i++) { // cout << zaj[i].first << " " << zaj[i].second << "\n"; // } } |