#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; } |
English