#include <iostream> #include <algorithm> #include <array> int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0); long long n, m, s, guess; std::cin >> n >> m >> s; guess=8*n; std::array<long long, 2> * baj=new std::array<long long, 2>[m+2]; baj[0][0]=0; baj[0][1]=0; baj[m+1][0]=n+1; baj[m+1][1]=n+1; for (int i=1; i<=m; i++) { std::cin >> baj[i][0] >> baj[i][1]; } std::sort(baj, baj+m+2); for (int i=1; i<=m; i++) { if (((baj[i][0]-1)!=(baj[i-1][1])) and (std::abs(guess-s)>std::abs((baj[i][0]-1)-s))) { guess=(baj[i][0]-1); } if (((baj[i][1]+1)!=(baj[i+1][0])) and (std::abs(guess-s)>std::abs((baj[i][1]+1)-s))) { guess=(baj[i][1]+1); } } std::cout << guess << '\n'; 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 | #include <iostream> #include <algorithm> #include <array> int main() { std::ios_base::sync_with_stdio(0); std::cin.tie(0); std::cout.tie(0); long long n, m, s, guess; std::cin >> n >> m >> s; guess=8*n; std::array<long long, 2> * baj=new std::array<long long, 2>[m+2]; baj[0][0]=0; baj[0][1]=0; baj[m+1][0]=n+1; baj[m+1][1]=n+1; for (int i=1; i<=m; i++) { std::cin >> baj[i][0] >> baj[i][1]; } std::sort(baj, baj+m+2); for (int i=1; i<=m; i++) { if (((baj[i][0]-1)!=(baj[i-1][1])) and (std::abs(guess-s)>std::abs((baj[i][0]-1)-s))) { guess=(baj[i][0]-1); } if (((baj[i][1]+1)!=(baj[i+1][0])) and (std::abs(guess-s)>std::abs((baj[i][1]+1)-s))) { guess=(baj[i][1]+1); } } std::cout << guess << '\n'; return 0; } |