# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1136627 | mychecksedad | 게임 (IOI13_game) | C++20 | 컴파일 에러 | 0 ms | 0 KiB |
#include "game.h"
#include<bits/stdc++.h>
using namespace std;
#define ll long long int
#define MOD (1000000000+7)
#define MOD1 (998244353)
#define pb push_back
#define all(x) x.begin(), x.end()
#define en cout << '\n'
#define ff first
#define ss second
#define pii pair<int,int>
#define vi vector<int>
const int N = 8005, M = 1e5+10, MX = 30;
long long gcd2(long long X, long long Y) {
long long tmp;
while (X != Y && Y != 0) {
tmp = X;
X = Y;
Y = tmp % Y;
}
return X;
}
vector<int> T[N][N];
int n, m;
void init(int R, int C) {
n = R;
m = C;
// for(int i = 0; i <= 4*n; ++i){
// for(int j = 0; j <= 4*m; ++j) T[i][j] = 0;
// }
}
ll get(vector<ll> &v){
if(v.empty()) return 0ll;
return v[0];
}
void upd(vector<ll> &v, ll val){
if(v.empty()) v.pb(val);
else v[0] = val;
}
ll gcd3(vector<ll> &x, vector<ll> &y){
return gcd2(get(x), get(y));
}
void updY(int l, int r, int p, int lx, int rx, int k, int kx, ll val){
if(l == r){
if(lx == rx){
upd(T[kx][k], val);
}else{
upd(T[kx][k], gcd3(T[kx<<1][k], T[kx<<1|1][k]));
}
}else{
int m = l+r>>1;
if(p <= m) updY(l, m, p, lx, rx, k<<1, kx, val);
else updY(m+1, r, p, lx, rx, k<<1|1, kx, val);
upd(T[kx][k], gcd3(T[kx][k<<1], T[kx][k<<1|1]));
}
}
void updX(int l, int r, int p, int k, int y, ll val){
if(l != r){
int m = l+r>>1;
if(p <= m) updX(l, m, p, k<<1, y, val);
else updX(m+1, r, p, k<<1|1, y, val);
}
updY(1, m, y, l, r, 1, k, val);
}
void update(int P, int Q, long long K) {
++P, ++Q;
updX(1, n, P, 1, Q, K);
}
ll getY(int l, int r, int ly, int ry, int k, int kx){
if(ly > r || l > ry) return 0ll;
if(ly <= l && r <= ry){
return get(T[kx][k]);
}
int m = l+r>>1;
return gcd2(getY(l, m, ly, ry, k<<1, kx), getY(m + 1, r, ly, ry, k<<1|1, kx));
}
ll getX(int l, int r, int lx, int rx, int k, int ly, int ry){
if(lx > r || l > rx) return 0ll;
if(lx <= l && r <= rx){
return getY(1, m, ly, ry, 1, k);
}
int m = l+r>>1;
return gcd2(getX(l, m, lx, rx, k<<1, ly, ry), getX(m+1, r, lx, rx, k<<1|1, ly, ry));
}
long long calculate(int P, int Q, int U, int V) {
++P, ++Q, ++U, ++V;
return getX(1, n, P, U, 1, Q, V);
}
컴파일 시 표준 에러 (stderr) 메시지
game.cpp: In function 'void updY(int, int, int, int, int, int, int, long long int)': game.cpp:52:18: error: invalid initialization of reference of type 'std::vector<long long int>&' from expression of type 'std::vector<int>' 52 | upd(T[kx][k], val); | ~~~~~~~^ game.cpp:40:22: note: in passing argument 1 of 'void upd(std::vector<long long int>&, long long int)' 40 | void upd(vector<ll> &v, ll val){ | ~~~~~~~~~~~~^ game.cpp:54:36: error: invalid initialization of reference of type 'std::vector<long long int>&' from expression of type 'std::vector<int>' 54 | upd(T[kx][k], gcd3(T[kx<<1][k], T[kx<<1|1][k])); | ~~~~~~~~~~^ game.cpp:45:21: note: in passing argument 1 of 'long long int gcd3(std::vector<long long int>&, std::vector<long long int>&)' 45 | ll gcd3(vector<ll> &x, vector<ll> &y){ | ~~~~~~~~~~~~^ game.cpp:60:34: error: invalid initialization of reference of type 'std::vector<long long int>&' from expression of type 'std::vector<int>' 60 | upd(T[kx][k], gcd3(T[kx][k<<1], T[kx][k<<1|1])); | ~~~~~~~~~~^ game.cpp:45:21: note: in passing argument 1 of 'long long int gcd3(std::vector<long long int>&, std::vector<long long int>&)' 45 | ll gcd3(vector<ll> &x, vector<ll> &y){ | ~~~~~~~~~~~~^ game.cpp: In function 'long long int getY(int, int, int, int, int, int)': game.cpp:82:15: error: no matching function for call to 'get(std::vector<int>&)' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:223:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(std::pair<_OIter1, _OIter2>&)' 223 | get(pair<_Tp1, _Tp2>& __in) noexcept | ^~~ /usr/include/c++/11/utility:223:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::pair<_OIter1, _OIter2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:228:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(std::pair<_OIter1, _OIter2>&&)' 228 | get(pair<_Tp1, _Tp2>&& __in) noexcept | ^~~ /usr/include/c++/11/utility:228:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::pair<_OIter1, _OIter2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:233:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type& std::get(const std::pair<_OIter1, _OIter2>&)' 233 | get(const pair<_Tp1, _Tp2>& __in) noexcept | ^~~ /usr/include/c++/11/utility:233:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::pair<_OIter1, _OIter2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:238:5: note: candidate: 'template<long unsigned int _Int, class _Tp1, class _Tp2> constexpr const typename std::tuple_element<_Int, std::pair<_OIter1, _OIter2> >::type&& std::get(const std::pair<_OIter1, _OIter2>&&)' 238 | get(const pair<_Tp1, _Tp2>&& __in) noexcept | ^~~ /usr/include/c++/11/utility:238:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::pair<_OIter1, _OIter2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:247:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_T1, _T2>&)' 247 | get(pair<_Tp, _Up>& __p) noexcept | ^~~ /usr/include/c++/11/utility:247:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::pair<_T1, _T2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:252:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_T1, _T2>&)' 252 | get(const pair<_Tp, _Up>& __p) noexcept | ^~~ /usr/include/c++/11/utility:252:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::pair<_T1, _T2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:257:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_T1, _T2>&&)' 257 | get(pair<_Tp, _Up>&& __p) noexcept | ^~~ /usr/include/c++/11/utility:257:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::pair<_T1, _T2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:262:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_T1, _T2>&&)' 262 | get(const pair<_Tp, _Up>&& __p) noexcept | ^~~ /usr/include/c++/11/utility:262:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::pair<_T1, _T2>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:267:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp& std::get(std::pair<_Up, _Tp>&)' 267 | get(pair<_Up, _Tp>& __p) noexcept | ^~~ /usr/include/c++/11/utility:267:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::pair<_Up, _Tp>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:272:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp& std::get(const std::pair<_Up, _Tp>&)' 272 | get(const pair<_Up, _Tp>& __p) noexcept | ^~~ /usr/include/c++/11/utility:272:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::pair<_Up, _Tp>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:277:5: note: candidate: 'template<class _Tp, class _Up> constexpr _Tp&& std::get(std::pair<_Up, _Tp>&&)' 277 | get(pair<_Up, _Tp>&& __p) noexcept | ^~~ /usr/include/c++/11/utility:277:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::pair<_Up, _Tp>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/algorithm:60, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/utility:282:5: note: candidate: 'template<class _Tp, class _Up> constexpr const _Tp&& std::get(const std::pair<_Up, _Tp>&&)' 282 | get(const pair<_Up, _Tp>&& __p) noexcept | ^~~ /usr/include/c++/11/utility:282:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::pair<_Up, _Tp>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/bits/ranges_algo.h:36, from /usr/include/c++/11/algorithm:64, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/bits/ranges_util.h:381:5: note: candidate: 'template<long unsigned int _Num, class _It, class _Sent, std::ranges::subrange_kind _Kind> requires _Num < 2 constexpr auto std::ranges::get(std::ranges::subrange<_It, _Sent, _Kind>&&)' 381 | get(subrange<_It, _Sent, _Kind>&& __r) | ^~~ /usr/include/c++/11/bits/ranges_util.h:381:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::ranges::subrange<_It, _Sent, _Kind>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/bits/ranges_algo.h:36, from /usr/include/c++/11/algorithm:64, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/bits/ranges_util.h:370:5: note: candidate: 'template<long unsigned int _Num, class _It, class _Sent, std::ranges::subrange_kind _Kind> requires _Num < 2 constexpr auto std::ranges::get(const std::ranges::subrange<_It, _Sent, _Kind>&)' 370 | get(const subrange<_It, _Sent, _Kind>& __r) | ^~~ /usr/include/c++/11/bits/ranges_util.h:370:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::ranges::subrange<_It, _Sent, _Kind>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/tuple:39, from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/array:361:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp& std::get(std::array<_Tp, _Nm>&)' 361 | get(array<_Tp, _Nm>& __arr) noexcept | ^~~ /usr/include/c++/11/array:361:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::array<_Tp, _Nm>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/tuple:39, from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/array:369:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr _Tp&& std::get(std::array<_Tp, _Nm>&&)' 369 | get(array<_Tp, _Nm>&& __arr) noexcept | ^~~ /usr/include/c++/11/array:369:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::array<_Tp, _Nm>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/tuple:39, from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/array:377:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp& std::get(const std::array<_Tp, _Nm>&)' 377 | get(const array<_Tp, _Nm>& __arr) noexcept | ^~~ /usr/include/c++/11/array:377:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::array<_Tp, _Nm>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/tuple:39, from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/array:385:5: note: candidate: 'template<long unsigned int _Int, class _Tp, long unsigned int _Nm> constexpr const _Tp&& std::get(const std::array<_Tp, _Nm>&&)' 385 | get(const array<_Tp, _Nm>&& __arr) noexcept | ^~~ /usr/include/c++/11/array:385:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::array<_Tp, _Nm>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1393:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_UTypes ...> >& std::get(std::tuple<_UTypes ...>&)' 1393 | get(tuple<_Elements...>& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1393:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1399:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_UTypes ...> >& std::get(const std::tuple<_UTypes ...>&)' 1399 | get(const tuple<_Elements...>& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1399:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1405:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_UTypes ...> >&& std::get(std::tuple<_UTypes ...>&&)' 1405 | get(tuple<_Elements...>&& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1405:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1414:5: note: candidate: 'template<long unsigned int __i, class ... _Elements> constexpr std::__tuple_element_t<__i, std::tuple<_UTypes ...> >&& std::get(const std::tuple<_UTypes ...>&&)' 1414 | get(const tuple<_Elements...>&& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1414:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1449:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp& std::get(std::tuple<_UTypes ...>&)' 1449 | get(tuple<_Types...>& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1449:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1460:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp&& std::get(std::tuple<_UTypes ...>&&)' 1460 | get(tuple<_Types...>&& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1460:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1471:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp& std::get(const std::tuple<_UTypes ...>&)' 1471 | get(const tuple<_Types...>& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1471:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/c++/11/functional:54, from /usr/include/c++/11/pstl/glue_algorithm_defs.h:13, from /usr/include/c++/11/algorithm:74, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:65, from game.cpp:2: /usr/include/c++/11/tuple:1483:5: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp&& std::get(const std::tuple<_UTypes ...>&&)' 1483 | get(const tuple<_Types...>&& __t) noexcept | ^~~ /usr/include/c++/11/tuple:1483:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::tuple<_UTypes ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1676:5: note: candidate: 'template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >& std::get(std::variant<_Types ...>&)' 1676 | get(variant<_Types...>& __v) | ^~~ /usr/include/c++/11/variant:1676:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1687:5: note: candidate: 'template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >&& std::get(std::variant<_Types ...>&&)' 1687 | get(variant<_Types...>&& __v) | ^~~ /usr/include/c++/11/variant:1687:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1698:5: note: candidate: 'template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >& std::get(const std::variant<_Types ...>&)' 1698 | get(const variant<_Types...>& __v) | ^~~ /usr/include/c++/11/variant:1698:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1709:5: note: candidate: 'template<long unsigned int _Np, class ... _Types> constexpr std::variant_alternative_t<_Np, std::variant<_Types ...> >&& std::get(const std::variant<_Types ...>&&)' 1709 | get(const variant<_Types...>&& __v) | ^~~ /usr/include/c++/11/variant:1709:5: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1117:20: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp& std::get(std::variant<_Types ...>&)' 1117 | constexpr _Tp& get(variant<_Types...>& __v) | ^~~ /usr/include/c++/11/variant:1117:20: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1126:21: note: candidate: 'template<class _Tp, class ... _Types> constexpr _Tp&& std::get(std::variant<_Types ...>&&)' 1126 | constexpr _Tp&& get(variant<_Types...>&& __v) | ^~~ /usr/include/c++/11/variant:1126:21: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1136:26: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp& std::get(const std::variant<_Types ...>&)' 1136 | constexpr const _Tp& get(const variant<_Types...>& __v) | ^~~ /usr/include/c++/11/variant:1136:26: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:133, from game.cpp:2: /usr/include/c++/11/variant:1145:27: note: candidate: 'template<class _Tp, class ... _Types> constexpr const _Tp&& std::get(const std::variant<_Types ...>&&)' 1145 | constexpr const _Tp&& get(const variant<_Types...>&& __v) | ^~~ /usr/include/c++/11/variant:1145:27: note: template argument deduction/substitution failed: game.cpp:82:15: note: 'std::vector<int>' is not derived from 'const std::variant<_Types ...>' 82 | return get(T[kx][k]); | ~~~^~~~~~~~~~ game.cpp:35:4: note: candidate: 'long long int get(std::vector<long long int>&)' 35 | ll get(vector<ll> &v){ | ^~~ game.cpp:35:20: note: no known conversion for argument 1 from 'std::vector<int>' to 'std::vector<long long int>&' 35 | ll get(vector<ll> &v){ | ~~~~~~~~~~~~^