Language: C++

#include <iostream>
#include <vector>
#include <algorithm>
#define repeat(i,n) for (int i = 0; (i) < (n); ++(i))
#define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
template <typename F> auto compare_with(F const & f) { return [=](auto x, auto y) { return f(x) < f(y); }; }
using namespace std;
int main() {
    int n, k, x0; cin >> n >> k >> x0; -- k;
    if (x0 == 0) {
        cout << 0 << endl;
        return 0;
    }
    vector<int> cnt(256); {
        uint64_t x = x0;
        repeat (i,n) {
            cnt[int8_t(x >> 56) + 128] += 1;
            x ^= x << 13;
            x ^= x >> 7;
            x ^= x << 17; // xorshift 64
        }
    }
    int acc = 0;
    int j = 0;
    for (; acc + cnt[j] <= k; ++ j) {
        acc += cnt[j];
    }
    vector<uint64_t> a; {
        uint64_t x = x0;
        repeat (i,n) {
            if (int8_t(x >> 56) + 128 == j) a.push_back(x);
            x ^= x << 13;
            x ^= x >> 7;
            x ^= x << 17; // xorshift 64
        }
    }
    whole(sort, a);
    cout << int64_t(a[k - acc]) << endl;
    return 0;
}

Compiler output:
a.cc: In function 'int main()':
a.cc:15:9: error: 'uint64_t' was not declared in this scope
   15 |         uint64_t x = x0;
      |         ^~~~~~~~
a.cc:4:1: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
    3 | #include <algorithm>
  +++ |+#include <cstdint>
    4 | #define repeat(i,n) for (int i = 0; (i) < (n); ++(i))
a.cc:17:24: error: 'x' was not declared in this scope
   17 |             cnt[int8_t(x >> 56) + 128] += 1;
      |                        ^
a.cc:28:12: error: 'uint64_t' was not declared in this scope
   28 |     vector<uint64_t> a; {
      |            ^~~~~~~~
a.cc:28:12: note: 'uint64_t' is defined in header '<cstdint>'; this is probably fixable by adding '#include <cstdint>'
a.cc:28:20: error: template argument 1 is invalid
   28 |     vector<uint64_t> a; {
      |                    ^
a.cc:28:20: error: template argument 2 is invalid
a.cc:29:17: error: expected ';' before 'x'
   29 |         uint64_t x = x0;
      |                 ^~
      |                 ;
a.cc:31:24: error: 'x' was not declared in this scope
   31 |             if (int8_t(x >> 56) + 128 == j) a.push_back(x);
      |                        ^
a.cc:31:47: error: request for member 'push_back' in 'a', which is of non-class type 'int'
   31 |             if (int8_t(x >> 56) + 128 == j) a.push_back(x);
      |                                               ^~~~~~~~~
a.cc:32:13: error: 'x' was not declared in this scope
   32 |             x ^= x << 13;
      |             ^
a.cc: In lambda function:
a.cc:5:64: error: no matching function for call to 'begin(int&)'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
In file included from /usr/include/c++/14/bits/range_access.h:36,
                 from /usr/include/c++/14/string:53,
                 from /usr/include/c++/14/bits/locale_classes.h:40,
                 from /usr/include/c++/14/bits/ios_base.h:41,
                 from /usr/include/c++/14/ios:44,
                 from /usr/include/c++/14/ostream:40,
                 from /usr/include/c++/14/iostream:41,
                 from a.cc:1:
/usr/include/c++/14/initializer_list:88:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::begin(initializer_list<_Tp>)'
   88 |     begin(initializer_list<_Tp> __ils) noexcept
      |     ^~~~~
/usr/include/c++/14/initializer_list:88:5: note:   template argument deduction/substitution failed:
a.cc:5:64: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:52:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(_Container&)'
   52 |     begin(_Container& __cont) -> decltype(__cont.begin())
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:52:5: note:   template argument deduction/substitution failed:
/usr/include/c++/14/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(_Container&) [with _Container = int]':
a.cc:37:5:   required from here
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
/usr/include/c++/14/bits/range_access.h:52:50: error: request for member 'begin' in '__cont', which is of non-class type 'int'
   52 |     begin(_Container& __cont) -> decltype(__cont.begin())
      |                                           ~~~~~~~^~~~~
/usr/include/c++/14/bits/range_access.h:63:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(const _Container&)'
   63 |     begin(const _Container& __cont) -> decltype(__cont.begin())
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:63:5: note:   template argument deduction/substitution failed:
/usr/include/c++/14/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.begin()) std::begin(const _Container&) [with _Container = int]':
a.cc:37:5:   required from here
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
/usr/include/c++/14/bits/range_access.h:63:56: error: request for member 'begin' in '__cont', which is of non-class type 'const int'
   63 |     begin(const _Container& __cont) -> decltype(__cont.begin())
      |                                                 ~~~~~~~^~~~~
/usr/include/c++/14/bits/range_access.h:95:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::begin(_Tp (&)[_Nm])'
   95 |     begin(_Tp (&__arr)[_Nm]) noexcept
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:95:5: note:   template argument deduction/substitution failed:
a.cc:5:64: note:   mismatched types '_Tp [_Nm]' and 'int'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:113:31: note: candidate: 'template<class _Tp> _Tp* std::begin(valarray<_Tp>&)'
  113 |   template<typename _Tp> _Tp* begin(valarray<_Tp>&) noexcept;
      |                               ^~~~~
/usr/include/c++/14/bits/range_access.h:113:31: note:   template argument deduction/substitution failed:
a.cc:5:64: note:   mismatched types 'std::valarray<_Tp>' and 'int'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:114:37: note: candidate: 'template<class _Tp> const _Tp* std::begin(const valarray<_Tp>&)'
  114 |   template<typename _Tp> const _Tp* begin(const valarray<_Tp>&) noexcept;
      |                                     ^~~~~
/usr/include/c++/14/bits/range_access.h:114:37: note:   template argument deduction/substitution failed:
a.cc:5:64: note:   mismatched types 'const std::valarray<_Tp>' and 'int'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                           ~~~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
a.cc:5:72: error: no matching function for call to 'end(int&)'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                                     ~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
/usr/include/c++/14/initializer_list:99:5: note: candidate: 'template<class _Tp> constexpr const _Tp* std::end(initializer_list<_Tp>)'
   99 |     end(initializer_list<_Tp> __ils) noexcept
      |     ^~~
/usr/include/c++/14/initializer_list:99:5: note:   template argument deduction/substitution failed:
a.cc:5:72: note:   mismatched types 'std::initializer_list<_Tp>' and 'int'
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                                     ~~~^~~
a.cc:37:5: note: in expansion of macro 'whole'
   37 |     whole(sort, a);
      |     ^~~~~
/usr/include/c++/14/bits/range_access.h:74:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.end()) std::end(_Container&)'
   74 |     end(_Container& __cont) -> decltype(__cont.end())
      |     ^~~
/usr/include/c++/14/bits/range_access.h:74:5: note:   template argument deduction/substitution failed:
/usr/include/c++/14/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.end()) std::end(_Container&) [with _Container = int]':
a.cc:37:5:   required from here
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                                     ~~~^~~
/usr/include/c++/14/bits/range_access.h:74:48: error: request for member 'end' in '__cont', which is of non-class type 'int'
   74 |     end(_Container& __cont) -> decltype(__cont.end())
      |                                         ~~~~~~~^~~
/usr/include/c++/14/bits/range_access.h:85:5: note: candidate: 'template<class _Container> constexpr decltype (__cont.end()) std::end(const _Container&)'
   85 |     end(const _Container& __cont) -> decltype(__cont.end())
      |     ^~~
/usr/include/c++/14/bits/range_access.h:85:5: note:   template argument deduction/substitution failed:
/usr/include/c++/14/bits/range_access.h: In substitution of 'template<class _Container> constexpr decltype (__cont.end()) std::end(const _Container&) [with _Container = int]':
a.cc:37:5:   required from here
    5 | #define whole(f,x,...) ([&](decltype((x)) y) { return (f)(begin(y), end(y), ## __VA_ARGS__); })(x)
      |                                                                     ~~~^~~
/usr/include/c++/14/bits/range_access.h:85:54: error: request for member 'end' in '__cont', which is of non-class type 'const int'
   85 |     end(const _Container& __cont) -> decltype(__cont.end())
      |                                               ~~~~~~~^~~
/usr/include/c++/14/bits/range_access.h:106:5: note: candidate: 'template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::end(_Tp (&)[_Nm])'
  106 |     end(_Tp (&__arr)[_Nm]) noexcept
      |     ^