# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
66654 | tincamatei | Jakarta Skyscrapers (APIO15_skyscraper) | C++14 | Compilation error | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 30000;
vector<pair<int, int> > graph[MAX_N];
unordered_map<pair<int, int>, bool> doges;
int dist[MAX_N];
int dijkstra(int n, int src, int dest) {
priority_queue<pair<int, int>, vector<pair<int, int> >, greater<pair<int, int> > > pq;
memset(dist, 0x3f3f3f3f, sizeof(dist));
dist[src] = 0;
pq.push(make_pair(0, src));
while(!pq.empty()) {
int nod = pq.top().second, distNod = pq.top().first;
pq.pop();
if(dist[nod] == distNod) {
if(nod == dest)
return distNod;
for(auto it: graph[nod])
if(distNod + it.second < dist[it.first]) {
dist[it.first] = distNod + it.second;
pq.push(make_pair(dist[it.first], it.first));
}
}
}
return -1;
}
int main() {
int n, m, b, p, src, dest;
scanf("%d%d", &n, &m);
for(int i = 0; i < m; ++i) {
scanf("%d%d", &b, &p);
if(i == 0)
src = b;
if(i == 1)
dest = b;
doges[make_pair(b, p)] = true;
}
for(auto it: doges) {
pair<int, int> doge = it.first;
if(it.second) {
int poz = doge.first - doge.second, cost = 1;
bool foundSimilar = false;
while(poz >= 0 && !foundSimilar) {
graph[doge.first].push_back(make_pair(poz, cost++));
if(doges[make_pair(poz, doge.second)])
foundSimilar = true;
poz -= doge.second;
}
poz = doge.first + doge.second, cost = 1;
foundSimilar = false;
while(poz < n && !foundSimilar) {
graph[doge.first].push_back(make_pair(poz, cost++));
if(doges[make_pair(poz, doge.second)])
foundSimilar = true;
poz += doge.second;
}
}
}
printf("%d", dijkstra(n, src, dest));
return 0;
}
Compilation message (stderr)
In file included from /usr/include/c++/7/bits/hashtable.h:35:0, from /usr/include/c++/7/unordered_map:47, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:117, 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>, bool>' skyscraper.cpp:8:37: 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/nested_exception.h:40, from /usr/include/c++/7/exception:143, from /usr/include/c++/7/ios:39, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, 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>, bool>' skyscraper.cpp:8:37: 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/x86_64-linux-gnu/c++/7/bits/stdc++.h:117, from skyscraper.cpp:1: /usr/include/c++/7/bits/unordered_map.h: In instantiation of 'class std::unordered_map<std::pair<int, int>, bool>': skyscraper.cpp:8:37: 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: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: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: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 ^~~~~~~~~~~ skyscraper.cpp: In function 'int main()': skyscraper.cpp:45:10: error: no match for 'operator[]' (operand types are 'std::unordered_map<std::pair<int, int>, bool>' and 'std::pair<int, int>') doges[make_pair(b, p)] = true; ^ skyscraper.cpp:48:16: error: no matching function for call to 'begin(std::unordered_map<std::pair<int, int>, bool>&)' for(auto it: doges) { ^~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0, from skyscraper.cpp:1: /usr/include/c++/7/valarray:1211:5: note: candidate: template<class _Tp> const _Tp* std::begin(const std::valarray<_Tp>&) begin(const valarray<_Tp>& __va) ^~~~~ /usr/include/c++/7/valarray:1211:5: note: template argument deduction/substitution failed: skyscraper.cpp:48:16: note: 'std::unordered_map<std::pair<int, int>, bool>' is not derived from 'const std::valarray<_Tp>' for(auto it: doges) { ^~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0, from skyscraper.cpp:1: /usr/include/c++/7/valarray:1201:5: note: candidate: template<class _Tp> _Tp* std::begin(std::valarray<_Tp>&) begin(valarray<_Tp>& __va) ^~~~~ /usr/include/c++/7/valarray:1201:5: note: template argument deduction/substitution failed: skyscraper.cpp:48:16: note: 'std::unordered_map<std::pair<int, int>, bool>' is not derived from 'std::valarray<_Tp>' for(auto it: doges) { ^~~~~ In file included from /usr/include/c++/7/string:51:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from skyscraper.cpp:1: /usr/include/c++/7/bits/range_access.h:87:5: note: candidate: template<class _Tp, long unsigned int _Nm> constexpr _Tp* std::begin(_Tp (&)[_Nm]) begin(_Tp (&__arr)[_Nm]) ^~~~~ /usr/include/c++/7/bits/range_access.h:87:5: note: template argument deduction/substitution failed: skyscraper.cpp:48:16: note: mismatched types '_Tp [_Nm]' and 'std::unordered_map<std::pair<int, int>, bool>' for(auto it: doges) { ^~~~~ In file included from /usr/include/c++/7/string:51:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from skyscraper.cpp:1: /usr/include/c++/7/bits/range_access.h:58:5: note: candidate: template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) begin(const _Container& __cont) -> decltype(__cont.begin()) ^~~~~ /usr/include/c++/7/bits/range_access.h:58:5: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(const _Container&) [with _Container = std::unordered_map<std::pair<int, int>, bool>]': skyscraper.cpp:48:16: required from here /usr/include/c++/7/bits/range_access.h:58:56: error: 'const class std::unordered_map<std::pair<int, int>, bool>' has no member named 'begin' begin(const _Container& __cont) -> decltype(__cont.begin()) ~~~~~~~^~~~~ /usr/include/c++/7/bits/range_access.h:48:5: note: candidate: template<class _Container> decltype (__cont.begin()) std::begin(_Container&) begin(_Container& __cont) -> decltype(__cont.begin()) ^~~~~ /usr/include/c++/7/bits/range_access.h:48:5: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/range_access.h: In substitution of 'template<class _Container> decltype (__cont.begin()) std::begin(_Container&) [with _Container = std::unordered_map<std::pair<int, int>, bool>]': skyscraper.cpp:48:16: required from here /usr/include/c++/7/bits/range_access.h:48:50: error: 'class std::unordered_map<std::pair<int, int>, bool>' has no member named 'begin' begin(_Container& __cont) -> decltype(__cont.begin()) ~~~~~~~^~~~~ In file included from /usr/include/c++/7/bits/range_access.h:36:0, from /usr/include/c++/7/string:51, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from skyscraper.cpp:1: /usr/include/c++/7/initializer_list:89:5: note: candidate: template<class _Tp> constexpr const _Tp* std::begin(std::initializer_list<_Tp>) begin(initializer_list<_Tp> __ils) noexcept ^~~~~ /usr/include/c++/7/initializer_list:89:5: note: template argument deduction/substitution failed: skyscraper.cpp:48:16: note: 'std::unordered_map<std::pair<int, int>, bool>' is not derived from 'std::initializer_list<_Tp>' for(auto it: doges) { ^~~~~ skyscraper.cpp:48:16: error: no matching function for call to 'end(std::unordered_map<std::pair<int, int>, bool>&)' In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0, from skyscraper.cpp:1: /usr/include/c++/7/valarray:1231:5: note: candidate: template<class _Tp> const _Tp* std::end(const std::valarray<_Tp>&) end(const valarray<_Tp>& __va) ^~~ /usr/include/c++/7/valarray:1231:5: note: template argument deduction/substitution failed: skyscraper.cpp:48:16: note: 'std::unordered_map<std::pair<int, int>, bool>' is not derived from 'const std::valarray<_Tp>' for(auto it: doges) { ^~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:95:0, from skyscraper.cpp:1: /usr/include/c++/7/valarray:1221:5: note: candidate: template<class _Tp> _Tp* std::end(std::valarray<_Tp>&) end(valarray<_Tp>& __va) ^~~ /usr/include/c++/7/valarray:1221:5: note: template argument deduction/substitution failed: skyscraper.cpp:48:16: note: 'std::unordered_map<std::pair<int, int>, bool>' is not derived from 'std::valarray<_Tp>' for(auto it: doges) { ^~~~~ In file included from /usr/include/c++/7/string:51:0, from /usr/include/c++/7/bits/locale_classes.h:40, from /usr/include/c++/7/bits/ios_base.h:41, from /usr/include/c++/7/ios:42, from /usr/include/c++/7/istream:38, from /usr/include/c++/7/sstream:38, from /usr/include/c++/7/complex:45, from /usr/include/c++/7/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/7/bits/stdc++.h:52, from /var/local