#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int main()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
long long buildings, reserved, school;
cin >> buildings >> reserved >> school;
vector<int> v(buildings, 1);
for (long long i = 0; i < reserved; i++)
{
long long p1, p2;
cin >> p1 >> p2;
fill(v.begin() + p1 - 1, v.begin() + p2, 0);
}
v[school - 1] = 2;
long long cti = school-1, ctj = school-1, dp = 0, dt = 0;
long long result;
while (v[cti] == 0 || v[cti] == 2)
{
cti++;
dp++;
}
while (v[ctj] == 0 || v[ctj] == 2)
{
ctj--;
dt++;
}
cti++; ctj++;
if (dt <= dp)
{
result = ctj;
}
else
{
result = cti;
}
cout << result;
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 47 48 49 50 | #include <iostream> #include <vector> #include <algorithm> using namespace std; int main() { ios_base::sync_with_stdio(0); cin.tie(0); long long buildings, reserved, school; cin >> buildings >> reserved >> school; vector<int> v(buildings, 1); for (long long i = 0; i < reserved; i++) { long long p1, p2; cin >> p1 >> p2; fill(v.begin() + p1 - 1, v.begin() + p2, 0); } v[school - 1] = 2; long long cti = school-1, ctj = school-1, dp = 0, dt = 0; long long result; while (v[cti] == 0 || v[cti] == 2) { cti++; dp++; } while (v[ctj] == 0 || v[ctj] == 2) { ctj--; dt++; } cti++; ctj++; if (dt <= dp) { result = ctj; } else { result = cti; } cout << result; return 0; } |
English