# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1194874 | dzuizz | 사이버랜드 (APIO23_cyberland) | C++20 | 컴파일 에러 | 0 ms | 0 KiB |
#include "cyberland.h"
#include <bits/stdc++.h>
using namespace std;
constexpr double INF=DBL_MAX;
constexpr int N = 1e5;
constexpr int K = 66;
int n,m,k,h;
vector<pair<int,int>> g[N];
double di[N][K];
vector<int> v;
bool vi[N];
priority_queue<pair<double,int>> pq; // (-d,i,j)
void find0(int u){
if(v[u]==0)
pq.emplace(0.0,make_pair(u,0)),di[u][0]=0;
vi[u]=1;
for(auto&[w,v]:g[u]) if(!vi[v]&&v!=h)
find0(v);
}
double solve(int _n,int _m,int _k,int _h,std::vector<int> x,std::vector<int> y,std::vector<int> c,std::vector<int> _v) {
n=_n,m=_m,k=min(_k,K-1),h=_h,v=_v;
for(int i=0;i<n;++i){
g[i].clear();
vi[i]=0;
for(int j=0;j<=k;++j){
di[i][j]=INF;
}
}
for(int i=0;i<m;++i)
g[x[i]].emplace_back(c[i],y[i]),
g[y[i]].emplace_back(c[i],x[i]);
pq.emplace(0.0,make_pair(0,0)); di[0][0]=0.0;
find0(0);
while(pq.size()){
auto [d,p]=pq.top(); pq.pop();
int i=p/K,j=p%K; d=-d;
if(i==h) continue;
if(d>di[i][j]) continue;
for(auto&[w,x]:g[i]){
if(v[i]==0){
if(di[x][j]>w) pq.emplace(-(di[x][j]=w),K*x+j);
}else if(v[i]==1){
if(di[x][j]>d+w) pq.emplace(-(di[x][j]=d+w),K*x+j);
}else{ // v[i]==2
if(d+w<di[x][j]) pq.emplace(-(di[x][j]=d+w),K*x+j);
double nd=d/2.0;
if(j<k&&nd+w<di[x][j+1]) pq.emplace(-(di[x][j+1]=nd+w),K*x+j+1);
}
}
}
double ans=INF;
for(int j=0;j<=k;++j) ans=min(ans,di[h][j]);
return ans==INF?-1.0:ans;
}
컴파일 시 표준 에러 (stderr) 메시지
In file included from /usr/include/c++/11/ext/alloc_traits.h:34, from /usr/include/c++/11/bits/stl_uninitialized.h:64, from /usr/include/c++/11/vector:66, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/alloc_traits.h: In instantiation of 'static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(std::allocator_traits<std::allocator<_Up> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<double, int>; _Args = {double, std::pair<int, int>}; _Tp = std::pair<double, int>; std::allocator_traits<std::allocator<_Up> >::allocator_type = std::allocator<std::pair<double, int> >]': /usr/include/c++/11/bits/vector.tcc:115:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double, std::pair<int, int>}; _Tp = std::pair<double, int>; _Alloc = std::allocator<std::pair<double, int> >; std::vector<_Tp, _Alloc>::reference = std::pair<double, int>&]' /usr/include/c++/11/bits/stl_queue.h:658:18: required from 'void std::priority_queue<_Tp, _Sequence, _Compare>::emplace(_Args&& ...) [with _Args = {double, std::pair<int, int>}; _Tp = std::pair<double, int>; _Sequence = std::vector<std::pair<double, int>, std::allocator<std::pair<double, int> > >; _Compare = std::less<std::pair<double, int> >]' cyberland.cpp:15:11: required from here /usr/include/c++/11/bits/alloc_traits.h:518:28: error: no matching function for call to 'construct_at(std::pair<double, int>*&, double, std::pair<int, int>)' 518 | std::construct_at(__p, std::forward<_Args>(__args)...); | ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:94:5: note: candidate: 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...)' 94 | construct_at(_Tp* __location, _Args&&... __args) | ^~~~~~~~~~~~ /usr/include/c++/11/bits/stl_construct.h:94:5: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_construct.h: In substitution of 'template<class _Tp, class ... _Args> constexpr decltype (::new(void*(0)) _Tp) std::construct_at(_Tp*, _Args&& ...) [with _Tp = std::pair<double, int>; _Args = {double, std::pair<int, int>}]': /usr/include/c++/11/bits/alloc_traits.h:518:21: required from 'static constexpr void std::allocator_traits<std::allocator<_Up> >::construct(std::allocator_traits<std::allocator<_Up> >::allocator_type&, _Up*, _Args&& ...) [with _Up = std::pair<double, int>; _Args = {double, std::pair<int, int>}; _Tp = std::pair<double, int>; std::allocator_traits<std::allocator<_Up> >::allocator_type = std::allocator<std::pair<double, int> >]' /usr/include/c++/11/bits/vector.tcc:115:30: required from 'std::vector<_Tp, _Alloc>::reference std::vector<_Tp, _Alloc>::emplace_back(_Args&& ...) [with _Args = {double, std::pair<int, int>}; _Tp = std::pair<double, int>; _Alloc = std::allocator<std::pair<double, int> >; std::vector<_Tp, _Alloc>::reference = std::pair<double, int>&]' /usr/include/c++/11/bits/stl_queue.h:658:18: required from 'void std::priority_queue<_Tp, _Sequence, _Compare>::emplace(_Args&& ...) [with _Args = {double, std::pair<int, int>}; _Tp = std::pair<double, int>; _Sequence = std::vector<std::pair<double, int>, std::allocator<std::pair<double, int> > >; _Compare = std::less<std::pair<double, int> >]' cyberland.cpp:15:11: required from here /usr/include/c++/11/bits/stl_construct.h:96:17: error: no matching function for call to 'std::pair<double, int>::pair(double, std::pair<int, int>)' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:452:9: note: candidate: 'template<class ... _Args1, long unsigned int ..._Indexes1, class ... _Args2, long unsigned int ..._Indexes2> constexpr std::pair<_T1, _T2>::pair(std::tuple<_Args1 ...>&, std::tuple<_Args2 ...>&, std::_Index_tuple<_Indexes1 ...>, std::_Index_tuple<_Indexes2 ...>) [with _Args1 = {_Args1 ...}; long unsigned int ..._Indexes1 = {_Indexes1 ...}; _Args2 = {_Args2 ...}; long unsigned int ..._Indexes2 = {_Indexes2 ...}; _T1 = double; _T2 = int]' 452 | pair(tuple<_Args1...>&, tuple<_Args2...>&, | ^~~~ /usr/include/c++/11/bits/stl_pair.h:452:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: mismatched types 'std::tuple<_Tps ...>' and 'double' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:387:9: note: candidate: 'template<class ... _Args1, class ... _Args2> constexpr std::pair<_T1, _T2>::pair(std::piecewise_construct_t, std::tuple<_Args1 ...>, std::tuple<_Args2 ...>) [with _Args1 = {_Args1 ...}; _Args2 = {_Args2 ...}; _T1 = double; _T2 = int]' 387 | pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); | ^~~~ /usr/include/c++/11/bits/stl_pair.h:387:9: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: 'std::pair<int, int>' is not derived from 'std::tuple<_Tps ...>' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:381:28: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_MoveConstructiblePair<_U1, _U2>() && (! std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_ImplicitlyMoveConvertiblePair<_U1, _U2>())), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && (! std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>())), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 381 | explicit constexpr pair(pair<_U1, _U2>&& __p) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:381:28: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: mismatched types 'std::pair<_T1, _T2>' and 'double' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:371:19: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 371 | constexpr pair(pair<_U1, _U2>&& __p) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:371:19: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: mismatched types 'std::pair<_T1, _T2>' and 'double' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:361:28: 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&&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && (! std::_PCC<true, _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>())), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 361 | explicit constexpr pair(_U1&& __x, _U2&& __y) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:361:28: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_pair.h:360:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' 360 | bool>::type=false> | ^~~~~ /usr/include/c++/11/bits/stl_pair.h:352:19: 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&&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_MoveConstructiblePair<_U1, _U2>() && std::_PCC<true, _T1, _T2>::_ImplicitlyMoveConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 352 | constexpr pair(_U1&& __x, _U2&& __y) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:352:19: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_pair.h:351:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' 351 | bool>::type=true> | ^~~~ /usr/include/c++/11/bits/stl_pair.h:343:17: note: candidate: 'template<class _U2, typename std::enable_if<_CopyMovePair<false, double, _U2>(), bool>::type <anonymous> > std::pair<_T1, _T2>::pair(const _T1&, _U2&&) [with _U2 = _U2; typename std::enable_if<std::_PCC<true, _T1, _T2>::_CopyMovePair<false, _T1, _U2>(), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 343 | explicit pair(const _T1& __x, _U2&& __y) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:343:17: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_pair.h:342:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' 342 | bool>::type=false> | ^~~~~ /usr/include/c++/11/bits/stl_pair.h:336:18: note: candidate: 'template<class _U2, typename std::enable_if<_CopyMovePair<true, double, _U2>(), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const _T1&, _U2&&) [with _U2 = _U2; typename std::enable_if<std::_PCC<true, _T1, _T2>::_CopyMovePair<true, _T1, _U2>(), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 336 | constexpr pair(const _T1& __x, _U2&& __y) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:336:18: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_pair.h:335:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' 335 | bool>::type=true> | ^~~~ /usr/include/c++/11/bits/stl_pair.h:329: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&) [with _U1 = _U1; typename std::enable_if<std::_PCC<true, _T1, _T2>::_MoveCopyPair<false, _U1, _T2>(), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 329 | explicit constexpr pair(_U1&& __x, const _T2& __y) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:329:27: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_pair.h:328:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' 328 | bool>::type=false> | ^~~~~ /usr/include/c++/11/bits/stl_pair.h:322: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&) [with _U1 = _U1; typename std::enable_if<std::_PCC<true, _T1, _T2>::_MoveCopyPair<true, _U1, _T2>(), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 322 | constexpr pair(_U1&& __x, const _T2& __y) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:322:18: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: cannot convert 'std::declval<std::pair<int, int> >()' (type 'std::pair<int, int>') to type 'const int&' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:309:28: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_ConstructiblePair<_U1, _U2>() && (! std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_ImplicitlyConvertiblePair<_U1, _U2>())), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && (! std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>())), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 309 | explicit constexpr pair(const pair<_U1, _U2>& __p) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:309:28: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: mismatched types 'const std::pair<_T1, _T2>' and 'double' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:300:19: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<(std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<double, _U1>::value) || (! std::is_same<int, _U2>::value)), double, int>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<((! std::is_same<_T1, _U1>::value) || (! std::is_same<_T2, _U2>::value)), _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 300 | constexpr pair(const pair<_U1, _U2>& __p) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:300:19: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: mismatched types 'const std::pair<_T1, _T2>' and 'double' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:276:26: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<(_ConstructiblePair<_U1, _U2>() && (! _ImplicitlyConvertiblePair<_U1, _U2>())), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_ConstructiblePair<_U1, _U2>() && (! std::_PCC<true, _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>())), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 276 | explicit constexpr pair(const _T1& __a, const _T2& __b) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:276:26: note: template argument deduction/substitution failed: /usr/include/c++/11/bits/stl_pair.h:275:38: error: no type named 'type' in 'struct std::enable_if<false, bool>' 275 | bool>::type=false> | ^~~~~ /usr/include/c++/11/bits/stl_pair.h:266:17: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<(_ConstructiblePair<_U1, _U2>() && _ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair(const _T1&, const _T2&) [with _U1 = _U1; _U2 = _U2; typename std::enable_if<(std::_PCC<true, _T1, _T2>::_ConstructiblePair<_U1, _U2>() && std::_PCC<true, _T1, _T2>::_ImplicitlyConvertiblePair<_U1, _U2>()), bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 266 | constexpr pair(const _T1& __a, const _T2& __b) | ^~~~ /usr/include/c++/11/bits/stl_pair.h:266:17: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: cannot convert 'std::declval<std::pair<int, int> >()' (type 'std::pair<int, int>') to type 'const int&' 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:245:26: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<std::__and_<std::is_default_constructible<_U1>, std::is_default_constructible<_U2>, std::__not_<std::__and_<std::__is_implicitly_default_constructible<_U1>, std::__is_implicitly_default_constructible<_U2> > > >::value, bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair() [with _U1 = _U1; _U2 = _U2; typename std::enable_if<std::__and_<std::is_default_constructible<_U1>, std::is_default_constructible<_U2>, std::__not_<std::__and_<std::__is_implicitly_default_constructible<_U1>, std::__is_implicitly_default_constructible<_U2> > > >::value, bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 245 | explicit constexpr pair() | ^~~~ /usr/include/c++/11/bits/stl_pair.h:245:26: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: candidate expects 0 arguments, 2 provided 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:232:26: note: candidate: 'template<class _U1, class _U2, typename std::enable_if<std::__and_<std::__is_implicitly_default_constructible<_U1>, std::__is_implicitly_default_constructible<_U2> >::value, bool>::type <anonymous> > constexpr std::pair<_T1, _T2>::pair() [with _U1 = _U1; _U2 = _U2; typename std::enable_if<std::__and_<std::__is_implicitly_default_constructible<_U1>, std::__is_implicitly_default_constructible<_U2> >::value, bool>::type <anonymous> = <anonymous>; _T1 = double; _T2 = int]' 232 | _GLIBCXX_CONSTEXPR pair() | ^~~~ /usr/include/c++/11/bits/stl_pair.h:232:26: note: template argument deduction/substitution failed: In file included from /usr/include/c++/11/bits/stl_iterator.h:85, from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_construct.h:96:17: note: candidate expects 0 arguments, 2 provided 96 | -> decltype(::new((void*)0) _Tp(std::declval<_Args>()...)) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/vector:60, from cyberland.h:1, from cyberland.cpp:1: /usr/include/c++/11/bits/stl_pair.h:315:17: note: candidate: 'constexpr std::pair<_T1, _T2>::pair(std::pair<_T1, _T2>&&) [with _T1 = double; _T2 = int]' 315 | constexpr pair(pair&&) = default; ///< Move constructor | ^~~~ /usr/include/c++/11/bits/stl_pair.h:315:17: note: candidate expects 1 argument, 2 provided /usr/include/c++/11/bits/stl_pair.h:314:17: note: candidate: 'constexpr std::pair<_T1, _T2>::pair(const std::pair<_T1, _T2>&) [with _T1 = double; _T2 = int]' 314 | constexpr pair(const pair&) = default; ///< Copy constructor | ^~~~ /usr/include/c++/11/bits/stl_pair.h:314:17: note: candidate expects 1 argument, 2 provided