Language: C++

#include <bits/stdc++.h>
using namespace std;

int main() {
  int N;
  vector<tuple<string,int,int>> p(N);
  
  for(int i = 0; i < N; i++) {
    cin >> get<0>p.at(i) >> get<1>p.at(i);
    get<1>p.at(i) = 100 - get<1>p.at(i);
    get(2)p.at(i) = i+1;
  }
  sort(p.begin(),p.end());
  
  for(int i = 0; i < N; i++) {
    cout << get<2>p.at(i) << endl;
  }
  return 0;
}


Compiler output:
In file included from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:80,
                 from a.cc:1:
/usr/include/c++/14/variant: In instantiation of 'struct std::variant_alternative<0, std::variant<> >':
/usr/include/c++/14/variant:106:11:   required by substitution of 'template<long unsigned int _Np, class _Variant> using std::variant_alternative_t = typename std::variant_alternative::type [with long unsigned int _Np = 0; _Variant = std::variant<>]'
  106 |     using variant_alternative_t =
      |           ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/variant:1748:5:   required by substitution of 'template<class _RealType, class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, piecewise_linear_distribution<_RealType>&) [with _RealType = <missing>; _CharT = char; _Traits = std::char_traits<char>]'
 1748 |     get(const variant<_Types...>&& __v)
      |     ^~~
a.cc:9:12:   required from here
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/variant:100:25: error: static assertion failed
  100 |       static_assert(_Np < sizeof...(_Types));
      |                     ~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/variant:100:25: note: the comparison reduces to '(0 < 0)'
In file included from /usr/include/c++/14/bits/stl_pair.h:62,
                 from /usr/include/c++/14/bits/stl_algobase.h:64,
                 from /usr/include/c++/14/algorithm:60,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:51:
/usr/include/c++/14/bits/utility.h: In instantiation of 'struct std::_Nth_type<0>':
/usr/include/c++/14/variant:102:13:   required from 'struct std::variant_alternative<0, std::variant<> >'
  102 |       using type = typename _Nth_type<_Np, _Types...>::type;
      |             ^~~~
/usr/include/c++/14/variant:106:11:   required by substitution of 'template<long unsigned int _Np, class _Variant> using std::variant_alternative_t = typename std::variant_alternative::type [with long unsigned int _Np = 0; _Variant = std::variant<>]'
  106 |     using variant_alternative_t =
      |           ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/variant:1748:5:   required by substitution of 'template<class _RealType, class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, piecewise_linear_distribution<_RealType>&) [with _RealType = <missing>; _CharT = char; _Traits = std::char_traits<char>]'
 1748 |     get(const variant<_Types...>&& __v)
      |     ^~~
a.cc:9:12:   required from here
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/bits/utility.h:237:13: error: '__type_pack_element' index is out of range
  237 |     { using type = __type_pack_element<_Np, _Types...>; };
      |             ^~~~
In file included from /usr/include/c++/14/bits/memory_resource.h:47,
                 from /usr/include/c++/14/string:68,
                 from /usr/include/c++/14/bitset:52,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:52:
/usr/include/c++/14/tuple: In instantiation of 'struct std::tuple_element<0, std::tuple<> >':
/usr/include/c++/14/bits/utility.h:84:11:   required by substitution of 'template<long unsigned int __i, class _Tp> using std::__tuple_element_t = typename std::tuple_element::type [with long unsigned int __i = 0; _Tp = std::tuple<>]'
   84 |     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
      |           ^~~~~~~~~~~~~~~~~
/usr/include/c++/14/tuple:2466:5:   required by substitution of 'template<class _RealType, class _CharT, class _Traits> std::basic_istream<_CharT, _Traits>& std::operator>>(basic_istream<_CharT, _Traits>&, piecewise_linear_distribution<_RealType>&) [with _RealType = <missing>; _CharT = char; _Traits = std::char_traits<char>]'
 2466 |     get(const tuple<_Elements...>&& __t) noexcept
      |     ^~~
a.cc:9:12:   required from here
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/tuple:2422:25: error: static assertion failed: tuple index must be in range
 2422 |       static_assert(__i < sizeof...(_Types), "tuple index must be in range");
      |                     ~~~~^~~~~~~~~~~~~~~~~~~
/usr/include/c++/14/tuple:2422:25: note: the comparison reduces to '(0 < 0)'
a.cc: In function 'int main()':
a.cc:9:12: error: use of deleted function 'constexpr std::__enable_if_t<(__i >= sizeof... (_Types))> std::get(const tuple<_Elements ...>&) [with long unsigned int __i = 0; _Elements = {}; __enable_if_t<(__i >= sizeof... (_Types))> = void]'
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/tuple:2476:5: note: declared here
 2476 |     get(const tuple<_Elements...>&) = delete;
      |     ^~~
a.cc:9:9: error: no match for 'operator>>' (operand types are 'std::istream' {aka 'std::basic_istream<char>'} and '<unresolved overloaded function type>')
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |     ~~~ ^~ ~~~~~~
      |     |      |
      |     |      <unresolved overloaded function type>
      |     std::istream {aka std::basic_istream<char>}
In file included from /usr/include/c++/14/sstream:40,
                 from /usr/include/c++/14/complex:45,
                 from /usr/include/c++/14/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/14/bits/stdc++.h:127:
/usr/include/c++/14/istream:170:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(bool&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]' (near match)
  170 |       operator>>(bool& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:170:7: note:   conversion of argument 1 would be ill-formed:
/usr/include/c++/14/istream:170:7: error: use of deleted function 'constexpr std::__enable_if_t<(__i >= sizeof... (_Types))> std::get(const tuple<_Elements ...>&) [with long unsigned int __i = 0; _Elements = {}; __enable_if_t<(__i >= sizeof... (_Types))> = void]'
/usr/include/c++/14/tuple:2476:5: note: declared here
 2476 |     get(const tuple<_Elements...>&) = delete;
      |     ^~~
a.cc:9:12: error: use of deleted function 'constexpr std::__enable_if_t<(__i >= sizeof... (_Types))> std::get(const tuple<_Elements ...>&) [with long unsigned int __i = 0; _Elements = {}; __enable_if_t<(__i >= sizeof... (_Types))> = void]'
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/tuple:2476:5: note: declared here
 2476 |     get(const tuple<_Elements...>&) = delete;
      |     ^~~
a.cc:9:12: error: use of deleted function 'constexpr std::__enable_if_t<(__i >= sizeof... (_Types))> std::get(const tuple<_Elements ...>&) [with long unsigned int __i = 0; _Elements = {}; __enable_if_t<(__i >= sizeof... (_Types))> = void]'
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/tuple:2476:5: note: declared here
 2476 |     get(const tuple<_Elements...>&) = delete;
      |     ^~~
a.cc:9:12: error: cannot bind non-const lvalue reference of type 'bool&' to a value of type 'std::__enable_if_t<true, void> (*)(const std::tuple<>&)' {aka 'void (*)(const std::tuple<>&)'}
    9 |     cin >> get<0>p.at(i) >> get<1>p.at(i);
      |            ^~~~~~
/usr/include/c++/14/istream:174:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(short int&) [with _CharT = char; _Traits = std::char_traits<char>]'
  174 |       operator>>(short& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:174:25: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'short int&'
  174 |       operator>>(short& __n);
      |                  ~~~~~~~^~~
/usr/include/c++/14/istream:177:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(short unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]'
  177 |       operator>>(unsigned short& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:177:34: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'short unsigned int&'
  177 |       operator>>(unsigned short& __n)
      |                  ~~~~~~~~~~~~~~~~^~~
/usr/include/c++/14/istream:181:7: note: candidate: 'std::basic_istream<_CharT, _Traits>& std::basic_istream<_CharT, _Traits>::operator>>(int&) [with _CharT = char; _Traits = std::char_traits<char>]'
  181 |       operator>>(int& __n);
      |       ^~~~~~~~
/usr/include/c++/14/istream:181:23: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'int&'
  181 |       operator>>(int& __n);
      |                  ~~~~~^~~
/usr/include/c++/14/istream:184:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(unsigned int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]'
  184 |       operator>>(unsigned int& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:184:32: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'unsigned int&'
  184 |       operator>>(unsigned int& __n)
      |                  ~~~~~~~~~~~~~~^~~
/usr/include/c++/14/istream:188:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long int&) [with _CharT = char; _Traits = std::char_traits<char>; __istream_type = std::basic_istream<char>]'
  188 |       operator>>(long& __n)
      |       ^~~~~~~~
/usr/include/c++/14/istream:188:24: note:   no known conversion for argument 1 from '<unresolved overloaded function type>' to 'long int&'
  188 |       operator>>(long& __n)
      |                  ~~~~~~^~~
/usr/include/c++/14/istream:192:7: note: candidate: 'std::basic_istream<_CharT, _Traits>::__istream_type& std::basic_istream<_CharT, _Traits>::operator>>(long unsigned int&) [with _CharT = char; _Tr