#include <bits/stdc++.h> using namespace std; long long n, s, a, b, poprzedni = -1, l, p; int m; long long wyn = 10000000000000, wyn_id; vector<pair<long long, long long>> przedzialy_sortowanie, przedzialy; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m >> s; for (int i = 1; i <= m; i++) { cin >> a >> b; przedzialy_sortowanie.push_back({a, b}); } sort(przedzialy_sortowanie.begin(), przedzialy_sortowanie.end()); for (auto para : przedzialy_sortowanie) { tie(a, b) = para; if (poprzedni == a - 1) { a = przedzialy.back().first; przedzialy.pop_back(); } poprzedni = b; przedzialy.push_back({a, b}); } for (auto para : przedzialy) { tie(a, b) = para; if (s >= a && s <= b) { tie(l, p) = para; break; } } if (l - 1 != 0) { wyn = s - l + 1; wyn_id = l - 1; } if (p + 1 <= n && p + 1 - s < wyn) { wyn_id = p + 1; } cout << wyn_id; }
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 | #include <bits/stdc++.h> using namespace std; long long n, s, a, b, poprzedni = -1, l, p; int m; long long wyn = 10000000000000, wyn_id; vector<pair<long long, long long>> przedzialy_sortowanie, przedzialy; int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); cin >> n >> m >> s; for (int i = 1; i <= m; i++) { cin >> a >> b; przedzialy_sortowanie.push_back({a, b}); } sort(przedzialy_sortowanie.begin(), przedzialy_sortowanie.end()); for (auto para : przedzialy_sortowanie) { tie(a, b) = para; if (poprzedni == a - 1) { a = przedzialy.back().first; przedzialy.pop_back(); } poprzedni = b; przedzialy.push_back({a, b}); } for (auto para : przedzialy) { tie(a, b) = para; if (s >= a && s <= b) { tie(l, p) = para; break; } } if (l - 1 != 0) { wyn = s - l + 1; wyn_id = l - 1; } if (p + 1 <= n && p + 1 - s < wyn) { wyn_id = p + 1; } cout << wyn_id; } |