Submission #678795

#TimeUsernameProblemLanguageResultExecution timeMemory
678795pls33Catfish Farm (IOI22_fish)C++17
Compilation error
0 ms0 KiB
#include <bits/stdc++.h> #ifndef _AAAAAAAAA #include "fish.h" #endif using namespace std; #pragma region dalykai using p32 = pair<int, int>; using p32u = pair<uint32_t, uint32_t>; using p64 = pair<int64_t, int64_t>; using p64u = pair<uint64_t, uint64_t>; using vi16 = vector<int16_t>; using vi16u = vector<uint16_t>; using vi32 = vector<int>; using vi32u = vector<uint32_t>; using vi64 = vector<int64_t>; using vi64u = vector<uint64_t>; using vp32 = vector<p32>; using vp32u = vector<p32u>; using vp64 = vector<p64>; using vp64u = vector<p64u>; using vvi32 = vector<vi32>; using vvi32u = vector<vi32u>; using vvi64 = vector<vi64>; using vvi64u = vector<vi64u>; using vvp32 = vector<vp32>; using vvp32u = vector<vp32u>; using vvp64 = vector<vp64>; using vvp64u = vector<vp64u>; #pragma endregion using map_t = unordered_map<p64, int64_t>; struct node_t { int64_t val; p32 range; node_t *left, *right; node_t(p32 r) { val = 0; range = r; left = nullptr; right = nullptr; } void update() { if (!right || range.second - range.first == 1) { return; } val = max(left->val, right->val); } void expand() { if (range.second - range.first == 1 || right) { return; } int mid = (range.first + range.second) / 2; left = new node_t({range.first, mid}); right = new node_t({mid, range.second}); } int contains(p32 query) { if (query.first >= range.second || query.second <= range.first) { return 0; } if (range.first >= query.first && range.second <= query.second) { return 1; } return 2; } }; void update(node_t *node, int64_t val, p32 dest) { if (!node || !node->contains(dest)) { return; } if (node->contains(dest) == 1) { node->val = max(node->val, val); return; } node->expand(); update(node->left, val, dest); update(node->right, val, dest); node->update(); } int64_t query(node_t *node, p32 dest) { if (!node || !node->contains(dest)) { return 0; } if (node->contains(dest) == 1) { return node->val; } return max(query(node->left, dest), query(node->right, dest)); } void assign_max(int64_t val, int64_t &v) { v = max(v, val); } int64_t weight_sum(int i, int j, vvi64 &prefix, int row) { if (i == -1) { return 0; } int64_t sum = prefix[row][j]; if (i) { sum -= prefix[row][i - 1]; } return sum; } int64_t new_weight(p32 lhs, p32 rhs, vvi64 &prefix) { int64_t left = rhs.first > 0 ? weight_sum(0, rhs.second, prefix, rhs.first - 1) : 0; int64_t right = (rhs.first + 1 < (int)prefix.size()) ? weight_sum(0, rhs.second, prefix, rhs.first + 1) : 0; if (lhs.first == -1) { return left + right; } if (rhs.first - lhs.first > 2) { return left + right; } if (rhs.first - lhs.first == 2) { if (lhs.second >= rhs.second) { return right; } left -= weight_sum(0, lhs.second, prefix, rhs.first - 1); return left + right; } if (lhs.second > rhs.second) { left = -weight_sum(0, rhs.second, prefix, rhs.first); return left + right; } left -= weight_sum(0, lhs.second, prefix, rhs.first) + weight_sum(0, lhs.second, prefix, rhs.first - 1); return left + right; } long long max_weights(int N, int M, std::vector<int> X, std::vector<int> Y, std::vector<int> W) { vp32 fish; int max_y = 0; for (int i = 0; i < M; i++) { max_y = max(max_y, Y[i]); if (X[i]) { fish.push_back({X[i] - 1, Y[i]}); } if (X[i] < N - 1) { fish.push_back({X[i] + 1, Y[i]}); } } vvi64 prefix(N, vi64(max_y + 1)); for (int i = 0; i < M; i++) { prefix[X[i]][Y[i]] = W[i]; } for (auto &row : prefix) { for (int i = 1; i < (int)row.size(); i++) { row[i] += row[i - 1]; } } sort(fish.begin(), fish.end()); auto it = unique(fish.begin(), fish.end()); fish.erase(it, fish.end()); map_t decrease; map_t increase; vp32 check; node_t *fish_count = new node_t({0, N}); for (auto &f : fish) { int64_t initial = new_weight(p32(-1, -1), f, prefix); if (f.first > 2) { initial += query(fish_count, {0, f.first - 2}); } auto &f_inc = increase[f]; auto &f_dec = decrease[f]; assign_max(initial, f_inc); assign_max(initial, f_dec); check.push_back(f); for (int cur = (int)check.size() - 2; cur >= 0; cur--) { auto &[i, j] = check[cur]; auto &inc = increase[check[cur]]; auto &dec = decrease[check[cur]]; if (f.first - i > 3) { break; } if (i == f.first) { continue; } int64_t prev = new_weight(p32(i, j), f, prefix); if (i == f.first - 1) { if (j < f.second) { assign_max(prev + inc, f_inc); } else { assign_max(prev + dec, f_dec); } } else { prev += max(inc, dec); assign_max(prev, f_inc); assign_max(prev, f_dec); } } update(fish_count, max(f_inc, f_dec), {f.first, f.first + 1}); } return fish_count->val; } #ifdef _AAAAAAAAA int main() { freopen("fish.in", "r", stdin); #ifndef __linux__ atexit([]() { freopen("con", "r", stdin); system("pause"); }); #endif int N, M; assert(2 == scanf("%d %d", &N, &M)); std::vector<int> X(M), Y(M), W(M); for (int i = 0; i < M; ++i) { assert(3 == scanf("%d %d %d", &X[i], &Y[i], &W[i])); } long long result = max_weights(N, M, X, Y, W); printf("%lld\n", result); return 0; } #endif

Compilation message (stderr)

fish.cpp:8: warning: ignoring '#pragma region dalykai' [-Wunknown-pragmas]
    8 | #pragma region dalykai
      | 
fish.cpp:31: warning: ignoring '#pragma endregion ' [-Wunknown-pragmas]
   31 | #pragma endregion
      | 
fish.cpp: In function 'long long int max_weights(int, int, std::vector<int>, std::vector<int>, std::vector<int>)':
fish.cpp:224:11: error: use of deleted function 'std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = std::pair<long int, long int>; _Tp = long int; _Hash = std::hash<std::pair<long int, long int> >; _Pred = std::equal_to<std::pair<long int, long int> >; _Alloc = std::allocator<std::pair<const std::pair<long int, long int>, long int> >]'
  224 |     map_t decrease;
      |           ^~~~~~~~
In file included from /usr/include/c++/10/unordered_map:47,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/unordered_map.h:141:7: note: 'std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = std::pair<long int, long int>; _Tp = long int; _Hash = std::hash<std::pair<long int, long int> >; _Pred = std::equal_to<std::pair<long int, long int> >; _Alloc = std::allocator<std::pair<const std::pair<long int, long int>, long int> >]' is implicitly deleted because the default definition would be ill-formed:
  141 |       unordered_map() = default;
      |       ^~~~~~~~~~~~~
/usr/include/c++/10/bits/unordered_map.h:141:7: error: use of deleted function 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::_Hashtable() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _Alloc = std::allocator<std::pair<const std::pair<long int, long int>, long int> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<std::pair<long int, long int> >; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]'
In file included from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable.h:451:7: note: 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::_Hashtable() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _Alloc = std::allocator<std::pair<const std::pair<long int, long int>, long int> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<std::pair<long int, long int> >; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]' is implicitly deleted because the default definition would be ill-formed:
  451 |       _Hashtable() = default;
      |       ^~~~~~~~~~
/usr/include/c++/10/bits/hashtable.h:451:7: error: use of deleted function 'std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits>::_Hashtable_base() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<std::pair<long int, long int> >; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits<true, false, true>]'
In file included from /usr/include/c++/10/bits/hashtable.h:35,
                 from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable_policy.h:1791:5: note: 'std::__detail::_Hashtable_base<_Key, _Value, _ExtractKey, _Equal, _H1, _H2, _Hash, _Traits>::_Hashtable_base() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<std::pair<long int, long int> >; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _Traits = std::__detail::_Hashtable_traits<true, false, true>]' is implicitly deleted because the default definition would be ill-formed:
 1791 |     _Hashtable_base() = default;
      |     ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1791:5: error: use of deleted function 'std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::_Hash_code_base() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _ExtractKey = std::__detail::_Select1st; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing]'
/usr/include/c++/10/bits/hashtable_policy.h:1368:7: note: 'std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::_Hash_code_base() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _ExtractKey = std::__detail::_Select1st; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing]' is implicitly deleted because the default definition would be ill-formed:
 1368 |       _Hash_code_base() = default;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1368:7: error: use of deleted function 'std::__detail::_Hashtable_ebo_helper<_Nm, _Tp, true>::_Hashtable_ebo_helper() [with int _Nm = 1; _Tp = std::hash<std::pair<long int, long int> >]'
/usr/include/c++/10/bits/hashtable_policy.h:1112:7: note: 'std::__detail::_Hashtable_ebo_helper<_Nm, _Tp, true>::_Hashtable_ebo_helper() [with int _Nm = 1; _Tp = std::hash<std::pair<long int, long int> >]' is implicitly deleted because the default definition would be ill-formed:
 1112 |       _Hashtable_ebo_helper() = default;
      |       ^~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1112:7: error: use of deleted function 'std::hash<std::pair<long int, long int> >::hash()'
In file included from /usr/include/c++/10/string_view:42,
                 from /usr/include/c++/10/bits/basic_string.h:48,
                 from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from fish.cpp:1:
/usr/include/c++/10/bits/functional_hash.h:101:12: note: 'std::hash<std::pair<long int, long int> >::hash()' is implicitly deleted because the default definition would be ill-formed:
  101 |     struct hash : __hash_enum<_Tp>
      |            ^~~~
/usr/include/c++/10/bits/functional_hash.h:101:12: error: no matching function for call to 'std::__hash_enum<std::pair<long int, long int>, false>::__hash_enum()'
/usr/include/c++/10/bits/functional_hash.h:82:7: note: candidate: 'std::__hash_enum<_Tp, <anonymous> >::__hash_enum(std::__hash_enum<_Tp, <anonymous> >&&) [with _Tp = std::pair<long int, long int>; bool <anonymous> = false]'
   82 |       __hash_enum(__hash_enum&&);
      |       ^~~~~~~~~~~
/usr/include/c++/10/bits/functional_hash.h:82:7: note:   candidate expects 1 argument, 0 provided
/usr/include/c++/10/bits/functional_hash.h:101:12: error: 'std::__hash_enum<_Tp, <anonymous> >::~__hash_enum() [with _Tp = std::pair<long int, long int>; bool <anonymous> = false]' is private within this context
  101 |     struct hash : __hash_enum<_Tp>
      |            ^~~~
/usr/include/c++/10/bits/functional_hash.h:83:7: note: declared private here
   83 |       ~__hash_enum();
      |       ^
In file included from /usr/include/c++/10/bits/hashtable.h:35,
                 from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable_policy.h:1112:7: error: use of deleted function 'std::hash<std::pair<long int, long int> >::~hash()'
 1112 |       _Hashtable_ebo_helper() = default;
      |       ^~~~~~~~~~~~~~~~~~~~~
In file included from /usr/include/c++/10/string_view:42,
                 from /usr/include/c++/10/bits/basic_string.h:48,
                 from /usr/include/c++/10/string:55,
                 from /usr/include/c++/10/bits/locale_classes.h:40,
                 from /usr/include/c++/10/bits/ios_base.h:41,
                 from /usr/include/c++/10/ios:42,
                 from /usr/include/c++/10/istream:38,
                 from /usr/include/c++/10/sstream:38,
                 from /usr/include/c++/10/complex:45,
                 from /usr/include/c++/10/ccomplex:39,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:54,
                 from fish.cpp:1:
/usr/include/c++/10/bits/functional_hash.h:101:12: note: 'std::hash<std::pair<long int, long int> >::~hash()' is implicitly deleted because the default definition would be ill-formed:
  101 |     struct hash : __hash_enum<_Tp>
      |            ^~~~
/usr/include/c++/10/bits/functional_hash.h:101:12: error: 'std::__hash_enum<_Tp, <anonymous> >::~__hash_enum() [with _Tp = std::pair<long int, long int>; bool <anonymous> = false]' is private within this context
/usr/include/c++/10/bits/functional_hash.h:83:7: note: declared private here
   83 |       ~__hash_enum();
      |       ^
In file included from /usr/include/c++/10/bits/hashtable.h:35,
                 from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable_policy.h:1368:7: error: use of deleted function 'std::__detail::_Hashtable_ebo_helper<1, std::hash<std::pair<long int, long int> >, true>::~_Hashtable_ebo_helper()'
 1368 |       _Hash_code_base() = default;
      |       ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1109:12: note: 'std::__detail::_Hashtable_ebo_helper<1, std::hash<std::pair<long int, long int> >, true>::~_Hashtable_ebo_helper()' is implicitly deleted because the default definition would be ill-formed:
 1109 |     struct _Hashtable_ebo_helper<_Nm, _Tp, true>
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1109:12: error: use of deleted function 'std::hash<std::pair<long int, long int> >::~hash()'
/usr/include/c++/10/bits/hashtable_policy.h:1791:5: error: use of deleted function 'std::__detail::_Hash_code_base<std::pair<long int, long int>, std::pair<const std::pair<long int, long int>, long int>, std::__detail::_Select1st, std::hash<std::pair<long int, long int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()'
 1791 |     _Hashtable_base() = default;
      |     ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1341:12: note: 'std::__detail::_Hash_code_base<std::pair<long int, long int>, std::pair<const std::pair<long int, long int>, long int>, std::__detail::_Select1st, std::hash<std::pair<long int, long int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()' is implicitly deleted because the default definition would be ill-formed:
 1341 |     struct _Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2,
      |            ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
 1342 |       _Default_ranged_hash, true>
      |       ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1341:12: error: use of deleted function 'std::__detail::_Hashtable_ebo_helper<1, std::hash<std::pair<long int, long int> >, true>::~_Hashtable_ebo_helper()'
In file included from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable.h:451:7: error: use of deleted function 'std::__detail::_Hashtable_base<std::pair<long int, long int>, std::pair<const std::pair<long int, long int>, long int>, std::__detail::_Select1st, std::equal_to<std::pair<long int, long int> >, std::hash<std::pair<long int, long int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()'
  451 |       _Hashtable() = default;
      |       ^~~~~~~~~~
In file included from /usr/include/c++/10/bits/hashtable.h:35,
                 from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable_policy.h:1725:10: note: 'std::__detail::_Hashtable_base<std::pair<long int, long int>, std::pair<const std::pair<long int, long int>, long int>, std::__detail::_Select1st, std::equal_to<std::pair<long int, long int> >, std::hash<std::pair<long int, long int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()' is implicitly deleted because the default definition would be ill-formed:
 1725 |   struct _Hashtable_base
      |          ^~~~~~~~~~~~~~~
/usr/include/c++/10/bits/hashtable_policy.h:1725:10: error: use of deleted function 'std::__detail::_Hash_code_base<std::pair<long int, long int>, std::pair<const std::pair<long int, long int>, long int>, std::__detail::_Select1st, std::hash<std::pair<long int, long int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, true>::~_Hash_code_base()'
fish.cpp:225:11: error: use of deleted function 'std::unordered_map<_Key, _Tp, _Hash, _Pred, _Alloc>::unordered_map() [with _Key = std::pair<long int, long int>; _Tp = long int; _Hash = std::hash<std::pair<long int, long int> >; _Pred = std::equal_to<std::pair<long int, long int> >; _Alloc = std::allocator<std::pair<const std::pair<long int, long int>, long int> >]'
  225 |     map_t increase;
      |           ^~~~~~~~
In file included from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable.h: In instantiation of 'std::_Hashtable<_Key, _Value, _Alloc, _ExtractKey, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits>::~_Hashtable() [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _Alloc = std::allocator<std::pair<const std::pair<long int, long int>, long int> >; _ExtractKey = std::__detail::_Select1st; _Equal = std::equal_to<std::pair<long int, long int> >; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing; _Hash = std::__detail::_Default_ranged_hash; _RehashPolicy = std::__detail::_Prime_rehash_policy; _Traits = std::__detail::_Hashtable_traits<true, false, true>]':
/usr/include/c++/10/bits/unordered_map.h:102:11:   required from here
/usr/include/c++/10/bits/hashtable.h:1389:5: error: use of deleted function 'std::__detail::_Hashtable_base<std::pair<long int, long int>, std::pair<const std::pair<long int, long int>, long int>, std::__detail::_Select1st, std::equal_to<std::pair<long int, long int> >, std::hash<std::pair<long int, long int> >, std::__detail::_Mod_range_hashing, std::__detail::_Default_ranged_hash, std::__detail::_Hashtable_traits<true, false, true> >::~_Hashtable_base()'
 1389 |     }
      |     ^
In file included from /usr/include/c++/10/bits/hashtable.h:35,
                 from /usr/include/c++/10/unordered_map:46,
                 from /usr/include/c++/10/functional:61,
                 from /usr/include/c++/10/pstl/glue_algorithm_defs.h:13,
                 from /usr/include/c++/10/algorithm:74,
                 from /usr/include/x86_64-linux-gnu/c++/10/bits/stdc++.h:65,
                 from fish.cpp:1:
/usr/include/c++/10/bits/hashtable_policy.h: In instantiation of 'std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::__hash_code std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::_M_hash_code(const _Key&) const [with _Key = std::pair<long int, long int>; _Value = std::pair<const std::pair<long int, long int>, long int>; _ExtractKey = std::__detail::_Select1st; _H1 = std::hash<std::pair<long int, long int> >; _H2 = std::__detail::_Mod_range_hashing; std::__detail::_Hash_code_base<_Key, _Value, _ExtractKey, _H1, _H2, std::__detail::_Default_ranged_hash, true>::__hash_code = long unsigned int]':
/usr/include/c++/10/bits/hashtable_policy.h:734:45:   required from 'std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::mapped_type& std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::operator[](std::__detail::_Map_base<_Key, _Pair, _Alloc, std::__detail::_Select1st, _Equal, _H1, _H2, _Hash, _RehashPolicy, _Traits, true>::key_type&&) [with _Key = std::pair<long int, long int>; _Pair = std::pair<const std::pair<long int, long int>, long int>; _Alloc = std::allocator<std::pair<const std::pair<long in