# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
231955 | 2020-05-15T13:54:58 Z | peijar | Jakarta Skyscrapers (APIO15_skyscraper) | C++17 | Compilation error |
0 ms | 0 KB |
#include <bits/stdc++.h> using namespace std; #define SZ(v) ((int)(v).size()) using ll = long long; const int MAX = 2000; unordered_map<pair<int, int>, int> dis; unordered_set<pair<int, int>> seen; vector<int> types[MAX]; struct Etat { int pos, last_type; int get() const { return dis[{pos, last_type}]; } }; int main(void) { ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int nb_doge, len_route; cin >> len_route >> nb_doge; vector<pair<int, int> > doge(nb_doge); for (auto &[building, skip] : doge) { cin >> building >> skip; types[building].push_back(skip); } int target = doge[1].first; queue<Etat> pq; dis[{doge[0].first, doge[0].second}] = 0; pq.push({doge[0].first, doge[0].second}); while (SZ(pq)) { Etat cur = pq.front(); pq.pop(); auto [pos, last_type] = cur; if (seen.count({pos, last_type})) continue; seen.insert({pos, last_type}); if (pos == target) { cout << cur.get() << endl; return 0; } types[pos].push_back(last_type); for (auto type : types[pos]) { if (pos >= type and !dis.count({pos-type, type})) { dis[{pos - type, type}] = 1 + cur.get(); pq.push({pos - type, type}); } if (pos + type < len_route and !dis.count({pos+type, type})) { dis[{pos+type, type}] = 1 + cur.get(); pq.push({pos+type, type}); } } types[pos].pop_back(); } cout << -1 << endl; }
Compilation message
In file included from /usr/include/c++/7/bits/hashtable.h:35:0, from /usr/include/c++/7/unordered_map:47, from /usr/include/c++/7/functional:60, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71, from skyscraper.cpp:1: /usr/include/c++/7/bits/hashtable_policy.h: In instantiation of 'struct std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > >': /usr/include/c++/7/type_traits:143:12: required from 'struct std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > >' /usr/include/c++/7/type_traits:154:31: required from 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' /usr/include/c++/7/bits/unordered_map.h:103:66: required from 'class std::unordered_map<std::pair<int, int>, int>' skyscraper.cpp:9:36: required from here /usr/include/c++/7/bits/hashtable_policy.h:87:34: error: no match for call to '(const std::hash<std::pair<int, int> >) (const std::pair<int, int>&)' noexcept(declval<const _Hash&>()(declval<const _Key&>()))> ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/move.h:54:0, from /usr/include/c++/7/bits/stl_pair.h:59, from /usr/include/c++/7/bits/stl_algobase.h:64, from /usr/include/c++/7/bits/specfun.h:45, from /usr/include/c++/7/cmath:1914, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:41, from skyscraper.cpp:1: /usr/include/c++/7/type_traits: In instantiation of 'struct std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >': /usr/include/c++/7/bits/unordered_map.h:103:66: required from 'class std::unordered_map<std::pair<int, int>, int>' skyscraper.cpp:9:36: required from here /usr/include/c++/7/type_traits:154:31: error: 'value' is not a member of 'std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > >' : public __bool_constant<!bool(_Pp::value)> ^~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/unordered_map:48:0, from /usr/include/c++/7/functional:60, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:71, from skyscraper.cpp:1: /usr/include/c++/7/bits/unordered_map.h: In instantiation of 'class std::unordered_map<std::pair<int, int>, int>': skyscraper.cpp:9:36: required from here /usr/include/c++/7/bits/unordered_map.h:103:66: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef __umap_hashtable<_Key, _Tp, _Hash, _Pred, _Alloc> _Hashtable; ^~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:110:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::key_type key_type; ^~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:111:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::value_type value_type; ^~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:112:48: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::mapped_type mapped_type; ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:113:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::hasher hasher; ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:114:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::key_equal key_equal; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:115:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::allocator_type allocator_type; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:120:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::pointer pointer; ^~~~~~~ /usr/include/c++/7/bits/unordered_map.h:121:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_pointer const_pointer; ^~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:122:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::reference reference; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:123:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_reference const_reference; ^~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:124:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::iterator iterator; ^~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:125:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_iterator const_iterator; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:126:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::local_iterator local_iterator; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:127:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_local_iterator const_local_iterator; ^~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:128:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::size_type size_type; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:129:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::difference_type difference_type; ^~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:133:55: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' using node_type = typename _Hashtable::node_type; ^ /usr/include/c++/7/bits/unordered_map.h:134:73: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' using insert_return_type = typename _Hashtable::insert_return_type; ^ /usr/include/c++/7/bits/unordered_map.h:288:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' operator=(initializer_list<value_type> __l) ^~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:386:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' emplace(_Args&&... __args) ^~~~~~~ /usr/include/c++/7/bits/unordered_map.h:469:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' try_emplace(const key_type& __k, _Args&&... __args) ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:487:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' try_emplace(key_type&& __k, _Args&&... __args) ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:578:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(const value_type& __x) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:584:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(value_type&& __x) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:591:2: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(_Pair&& __x) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:657:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert(initializer_list<value_type> __l) ^~~~~~ /usr/include/c++/7/bits/unordered_map.h:685:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert_or_assign(const key_type& __k, _Obj&& __obj) ^~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:703:9: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' insert_or_assign(key_type&& __k, _Obj&& __obj) ^~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:953:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' equal_range(const key_type& __x) ^~~~~~~~~~~ /usr/include/c++/7/bits/unordered_map.h:957:7: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' equal_range(const key_type& __x) const ^~~~~~~~~~~ In file included from /usr/include/c++/7/unordered_set:48:0, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:118, from skyscraper.cpp:1: /usr/include/c++/7/bits/unordered_set.h: In instantiation of 'class std::unordered_set<std::pair<int, int> >': skyscraper.cpp:10:31: required from here /usr/include/c++/7/bits/unordered_set.h:98:63: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef __uset_hashtable<_Value, _Hash, _Pred, _Alloc> _Hashtable; ^~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:105:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::key_type key_type; ^~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:106:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::value_type value_type; ^~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:107:43: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::hasher hasher; ^~~~~~ /usr/include/c++/7/bits/unordered_set.h:108:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::key_equal key_equal; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:109:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::allocator_type allocator_type; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:114:45: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::pointer pointer; ^~~~~~~ /usr/include/c++/7/bits/unordered_set.h:115:50: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_pointer const_pointer; ^~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:116:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::reference reference; ^~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:117:52: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_reference const_reference; ^~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:118:46: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::iterator iterator; ^~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:119:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_iterator const_iterator; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:120:51: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::local_iterator local_iterator; ^~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:121:57: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, std::hash<std::pair<int, int> > > > >' typedef typename _Hashtable::const_local_iterator const_local_iterator; ^~~~~~~~~~~~~~~~~~~~ /usr/include/c++/7/bits/unordered_set.h:122:47: error: 'value' is not a member of 'std::__not_<std::__and_<std::__is_fast_hash<std::hash<std::pair<int, int> > >, std::__detail::__is_noexcept_hash<std::pair<int, int>, st