#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef unsigned int uint;
ll n, m, s, ile, ktory, l, p;
pair<ll, ll> t[1000];
pair<ll, ll> t2[1000];
int main()
{
ios_base::sync_with_stdio(false);
cout.tie(nullptr);
cin.tie(nullptr);
cin >> n >> m >> s;
for (int i = 0; i < m; i++)
cin >> t[i].first >> t[i].second;
sort(t, t+m);
t2[0] = t[0];
for (int i = 1; i < m; i++)
{
if (t[i].first == t2[ile].second+1)
t2[ile].second = t[i].second;
else
t2[++ile] = t[i];
if (t[i].first <= s && s <= t[i].second)
ktory = ile;
}
l = t2[ktory].first - 1;
p = t2[ktory].second + 1;
if (l == 0)
cout << p;
else if (p == n+1)
cout << l;
else if (s - l <= p - s)
cout << l;
else
cout << p;
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 | #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef unsigned int uint; ll n, m, s, ile, ktory, l, p; pair<ll, ll> t[1000]; pair<ll, ll> t2[1000]; int main() { ios_base::sync_with_stdio(false); cout.tie(nullptr); cin.tie(nullptr); cin >> n >> m >> s; for (int i = 0; i < m; i++) cin >> t[i].first >> t[i].second; sort(t, t+m); t2[0] = t[0]; for (int i = 1; i < m; i++) { if (t[i].first == t2[ile].second+1) t2[ile].second = t[i].second; else t2[++ile] = t[i]; if (t[i].first <= s && s <= t[i].second) ktory = ile; } l = t2[ktory].first - 1; p = t2[ktory].second + 1; if (l == 0) cout << p; else if (p == n+1) cout << l; else if (s - l <= p - s) cout << l; else cout << p; return 0; } |
English