# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
126620 | 2019-07-08T07:43:13 Z | DodgeBallMan | 악어의 지하 도시 (IOI11_crocodile) | C++14 | 컴파일 오류 |
0 ms | 0 KB |
#include <bits/stdc++.h> #include "crocodile.h" #define pii pair<int, int> #define x first #define y second using namespace std; const int N = 1e5 + 10; int cnt[N]; vector<pii> g[N]; priority_queue< pii, vector<pii>, greater<pii> > q; int travel_plan( int n, int m, int r[][2], int l[], int k, int p[] ) { for( int i = 0 ; i < m ; i++ ) { g[r[i][0]].emplace_back( g[r[i][1]], l[i] ); g[r[i][1]].emplace_back( g[r[i][0]], l[i] ); } for( int i = 0 ; i < k ; i++ ) { cnt[p[i]]++; q.emplace( pii( p[i], 0 ) ); } while( !q.empty() ) { pii te = q.top(); q.pop(); cnt[te.x]++; if( cnt[te.x] != 2 ) continue ; if( te.x == 0 ) return te.y; for( pii i : g[te.x] ) if( cnt[i.x] < 2 ) { q.emplace( pii( i.x, i.y + te.y ) ); } } }
Compilation message
In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h: In instantiation of 'void __gnu_cxx::new_allocator<_Tp>::construct(_Up*, _Args&& ...) [with _Up = std::pair<int, int>; _Args = {std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >&, int&}; _Tp = std::pair<int, int>]': /usr/include/c++/7/bits/alloc_traits.h:475:4: required from 'static void std::allocator_traits<std::allocator<_CharT> >::construct(std::allocator_traits<std::allocator<_CharT> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<int, int>; _Args = {std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >&, int&}; _Tp = std::pair<int, int>; std::allocator_traits<std::allocator<_CharT> >::allocator_type = std::allocator<std::pair<int, int> >]' /usr/include/c++/7/bits/vector.tcc:100:30: required from 'void std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {std::vector<std::pair<int, int>, std::allocator<std::pair<int, int> > >&, int&}; _Tp = std::pair<int, int>; _Alloc = std::allocator<std::pair<int, int> >]' crocodile.cpp:16:51: required from here /usr/include/c++/7/ext/new_allocator.h:136:4: error: no matching function for call to 'std::pair<int, int>::pair(std::vector<std::pair<int, int> >&, int&)' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:431:9: note: candidate: template<class ... _Args1, long unsigned int ..._Indexes1, class ... _Args2, long unsigned int ..._Indexes2> std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>) pair(tuple<_Args1...>&, tuple<_Args2...>&, ^~~~ /usr/include/c++/7/bits/stl_pair.h:431:9: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: 'std::vector<std::pair<int, int> >' is not derived from 'std::tuple<_Tps ...>' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:364:9: note: candidate: template<class ... _Args1, class ... _Args2> std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>) pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); ^~~~ /usr/include/c++/7/bits/stl_pair.h:364:9: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: mismatched types 'std::tuple<_Tps ...>' and 'int' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:359:21: note: candidate: template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<int, _U1>::value) || (! std::is_same<int, _U2>::value)), int, int>::_MoveConstructiblePair<_U1, _U2>() && (! std::_PCC<((! std::is_same<int, _U1>::value) || (! std::is_same<int, _U2>::value)), int, int>::_ImplicitlyMoveConvertiblePair<_U1, _U2>())), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) explicit constexpr pair(pair<_U1, _U2>&& __p) ^~~~ /usr/include/c++/7/bits/stl_pair.h:359:21: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: 'std::vector<std::pair<int, int> >' is not derived from 'std::pair<_T1, _T2>' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:349:12: note: candidate: template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<int, _U1>::value) || (! std::is_same<int, _U2>::value)), int, int>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<int, _U1>::value) || (! std::is_same<int, _U2>::value)), int, int>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) constexpr pair(pair<_U1, _U2>&& __p) ^~~~ /usr/include/c++/7/bits/stl_pair.h:349:12: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: 'std::vector<std::pair<int, int> >' is not derived from 'std::pair<_T1, _T2>' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:339:21: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructiblePair<_U1, _U2>() && (! _ImplicitlyMoveConvertiblePair<_U1, _U2>())), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) explicit constexpr pair(_U1&& __x, _U2&& __y) ^~~~ /usr/include/c++/7/bits/stl_pair.h:339:21: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/stl_pair.h:338:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' bool>::type=false> ^~~~~ /usr/include/c++/7/bits/stl_pair.h:338:38: note: invalid template non-type parameter /usr/include/c++/7/bits/stl_pair.h:330:12: note: candidate: template<class _U1, class _U2, typename std::enable_if<(_MoveConstructiblePair<_U1, _U2>() && _ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(_U1&&, _U2&&) constexpr pair(_U1&& __x, _U2&& __y) ^~~~ /usr/include/c++/7/bits/stl_pair.h:330:12: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/stl_pair.h:329:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' bool>::type=true> ^~~~ /usr/include/c++/7/bits/stl_pair.h:329:38: note: invalid template non-type parameter /usr/include/c++/7/bits/stl_pair.h:321:17: note: candidate: template<class _U2, typename std::enable_if<_CopyMovePair<false, int, _U2>(), bool>::type <anonymous> > std::pair<_T1, _T2>::pair(const _T1&, _U2&&) explicit pair(const _T1& __x, _U2&& __y) ^~~~ /usr/include/c++/7/bits/stl_pair.h:321:17: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: cannot convert 'std::forward<std::vector<std::pair<int, int> >&>((* & __args#0))' (type 'std::vector<std::pair<int, int> >') to type 'const int&' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:314:18: note: candidate: template<class _U2, typename std::enable_if<_CopyMovePair<true, int, _U2>(), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const _T1&, _U2&&) constexpr pair(const _T1& __x, _U2&& __y) ^~~~ /usr/include/c++/7/bits/stl_pair.h:314:18: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: cannot convert 'std::forward<std::vector<std::pair<int, int> >&>((* & __args#0))' (type 'std::vector<std::pair<int, int> >') to type 'const int&' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/c++/7/ios:40, 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 crocodile.cpp:1: /usr/include/c++/7/bits/stl_pair.h:307:27: note: candidate: template<class _U1, typename std::enable_if<_MoveCopyPair<false, _U1, int>(), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(_U1&&, const _T2&) explicit constexpr pair(_U1&& __x, const _T2& __y) ^~~~ /usr/include/c++/7/bits/stl_pair.h:307:27: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/stl_pair.h:306:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' bool>::type=false> ^~~~~ /usr/include/c++/7/bits/stl_pair.h:306:38: note: invalid template non-type parameter /usr/include/c++/7/bits/stl_pair.h:300:18: note: candidate: template<class _U1, typename std::enable_if<_MoveCopyPair<true, _U1, int>(), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(_U1&&, const _T2&) constexpr pair(_U1&& __x, const _T2& __y) ^~~~ /usr/include/c++/7/bits/stl_pair.h:300:18: note: template argument deduction/substitution failed: /usr/include/c++/7/bits/stl_pair.h:299:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' bool>::type=true> ^~~~ /usr/include/c++/7/bits/stl_pair.h:299:38: note: invalid template non-type parameter /usr/include/c++/7/bits/stl_pair.h:293:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = int; _T2 = int] constexpr pair(pair&&) = default; ^~~~ /usr/include/c++/7/bits/stl_pair.h:293:17: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/stl_pair.h:292:17: note: candidate: constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = int; _T2 = int] constexpr pair(const pair&) = default; ^~~~ /usr/include/c++/7/bits/stl_pair.h:292:17: note: candidate expects 1 argument, 2 provided /usr/include/c++/7/bits/stl_pair.h:289:21: note: candidate: template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<int, _U1>::value) || (! std::is_same<int, _U2>::value)), int, int>::_ConstructiblePair<_U1, _U2>() && (! std::_PCC<((! std::is_same<int, _U1>::value) || (! std::is_same<int, _U2>::value)), int, int>::_ImplicitlyConvertiblePair<_U1, _U2>())), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) explicit constexpr pair(const pair<_U1, _U2>& __p) ^~~~ /usr/include/c++/7/bits/stl_pair.h:289:21: note: template argument deduction/substitution failed: In file included from /usr/include/x86_64-linux-gnu/c++/7/bits/c++allocator.h:33:0, from /usr/include/c++/7/bits/allocator.h:46, from /usr/include/c++/7/string:41, 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 crocodile.cpp:1: /usr/include/c++/7/ext/new_allocator.h:136:4: note: 'std::vector<std::pair<int, int> >' is not derived from 'const std::pair<_T1, _T2>' { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/7/bits/stl_algobase.h:64:0, from /usr/include/c++/7/bits/char_traits.h:39, from /usr/include/