#include <iostream>
#include <vector>
int main() {
long long n, m, s, p = 0, tmpZajete[2], roznica, tmpRoznica;
std::vector<long long> zajete;
bool con, czy_wieksza = false;
std::cin >> n >> m >> s;
roznica = s;
for (int i = 0; i < m; i++) {
std::cin >> tmpZajete[0] >> tmpZajete[1];
for (long long j = tmpZajete[0]; j <= tmpZajete[1]; j++) {
zajete.push_back(j);
}
}
for (int i = 1; i <= n; i++) {
con = false;
for (int j = 0; j < zajete.size(); j++) {
if (i == zajete[j]) {
con = true;
break;
}
}
if (con) {
continue;
}
if (i > s) {
tmpRoznica = i - s;
}
else {
tmpRoznica = s - i;
}
if (roznica > tmpRoznica || ((roznica == tmpRoznica) && p > i)) {
p = i;
roznica = tmpRoznica;
}
}
std::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 47 48 49 50 51 52 53 | #include <iostream> #include <vector> int main() { long long n, m, s, p = 0, tmpZajete[2], roznica, tmpRoznica; std::vector<long long> zajete; bool con, czy_wieksza = false; std::cin >> n >> m >> s; roznica = s; for (int i = 0; i < m; i++) { std::cin >> tmpZajete[0] >> tmpZajete[1]; for (long long j = tmpZajete[0]; j <= tmpZajete[1]; j++) { zajete.push_back(j); } } for (int i = 1; i <= n; i++) { con = false; for (int j = 0; j < zajete.size(); j++) { if (i == zajete[j]) { con = true; break; } } if (con) { continue; } if (i > s) { tmpRoznica = i - s; } else { tmpRoznica = s - i; } if (roznica > tmpRoznica || ((roznica == tmpRoznica) && p > i)) { p = i; roznica = tmpRoznica; } } std::cout << p; return 0; } |
English