# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
1176778 | chikien2009 | XORanges (eJOI19_xoranges) | C++20 | 컴파일 에러 | 0 ms | 0 KiB |
#include <bits/stdc++.h>
using namespace std;
void setup()
{
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
int n, q, a[5000], b, c, x, y, z;
long long res;
int main()
{
setup();
cin >> n >> q;
for (int i = 0; i < n; ++i)
{
cin >> a[i];
}
while (q--)
{
cin >> b;
if (b == 1)
{
cin >> b >> c;
a[b - 1] = c;
}
else
{#include <bits/stdc++.h>
using namespace std;
void setup()
{
#ifndef ONLINE_JUDGE
freopen("test.inp", "r", stdin);
freopen("test.out", "w", stdout);
#endif
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
}
class SEGMENT_TREE
{
private:
int tree_size;
vector<pair<int, int>> tree;
inline void Set(int ind, int l, int r, int x, int y)
{
if (r < x || y < l)
{
return;
}
if (l == r)
{
tree[ind] = {y * (l & 1), y * (!(l & 1))};
return;
}
int m = (l + r) >> 1;
Set(ind << 1, l, m, x, y);
Set(ind << 1 | 1, m + 1, r, x, y);
tree[ind].first = tree[ind << 1].first ^ tree[ind << 1 | 1].first;
tree[ind].second = tree[ind << 1].second ^ tree[ind << 1 | 1].second;
}
inline pair<int, int> Get(int ind, int l, int r, int x, int y)
{
if (r < x || y < l)
{
return {0, 0};
}
if (x <= l && r <= y)
{
return tree[ind];
}
int m = (l + r) >> 1;
pair<int, int> p1 = Get(ind << 1, l, m, x, y);
pair<int, int> p2 = Get(ind << 1 | 1, m + 1, r, x, y);
return {p1.first ^ p2.first, p1.second ^ p2.second};
}
public:
inline SEGMENT_TREE(int new_size)
{
tree_size = new_size;
tree.clear();
tree.resize(tree_size << 2, {0, 0});
}
inline void Set(int x, int y)
{
Set(1, 1, tree_size, x, y);
}
inline pair<int, int> Get(int x, int y)
{
return Get(1, 1, tree_size, x, y);
}
} st(200000);
int n, q, a, b, c;
pair<int, int> x, y;
int main()
{
setup();
cin >> n >> q;
for (int i = 1; i <= n; ++i)
{
cin >> a;
st.Set(i, a);
}
while (q--)
{
cin >> b;
if (b == 1)
{
cin >> b >> c;
st.Set(b, c);
}
else
{
cin >> b >> c;
a = c - b + 1;
if (a & 1)
{
if (b & 1)
{
cout << st.Get(b, c).first << "\n";
}
else
{
cout << st.Get(b, c).second << "\n";
}
}
else
{
cout << 0 << "\n";
}
}
}
return 0;
}
cin >> b >> c;
b--;
c--;
res = 0;
x = c - b + 1;
if (!(x & 1))
{
cout << 0 << "\n";
continue;
}
for (int i = b; i <= c; ++i)
{
y = min(i - b, c - i);
z = x * (y + 1);
if ((b & 1) == (i & 1))
{
res ^= a[i];
}
}
cout << res << "\n";
}
}
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
xoranges.cpp:33:10: error: stray '#' in program 33 | {#include <bits/stdc++.h> | ^ xoranges.cpp: In function 'int main()': xoranges.cpp:33:20: error: 'bits' was not declared in this scope 33 | {#include <bits/stdc++.h> | ^~~~ xoranges.cpp:33:25: error: 'stdc' was not declared in this scope; did you mean 'std'? 33 | {#include <bits/stdc++.h> | ^~~~ | std xoranges.cpp:33:11: error: 'include' was not declared in this scope 33 | {#include <bits/stdc++.h> | ^~~~~~~ xoranges.cpp:35:1: error: expected primary-expression before 'using' 35 | using namespace std; | ^~~~~ xoranges.cpp:38:1: error: a function-definition is not allowed here before '{' token 38 | { | ^ xoranges.cpp:106:9: warning: empty parentheses were disambiguated as a function declaration [-Wvexing-parse] 106 | int main() | ^~ xoranges.cpp:106:9: note: remove parentheses to default-initialize a variable 106 | int main() | ^~ | -- xoranges.cpp:106:9: note: or replace parentheses with braces to value-initialize a variable xoranges.cpp:107:1: error: a function-definition is not allowed here before '{' token 107 | { | ^ xoranges.cpp:151:25: error: no match for 'operator=' (operand types are 'std::pair<int, int>' and 'int') 151 | x = c - b + 1; | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_pair.h:418:9: note: candidate: 'template<class _U1, class _U2> constexpr typename std::enable_if<std::__and_<std::is_assignable<_T1&, const _U1&>, std::is_assignable<_T2&, const _U2&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]' 418 | operator=(const pair<_U1, _U2>& __p) | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:418:9: note: template argument deduction/substitution failed: xoranges.cpp:151:25: note: mismatched types 'const std::pair<_T1, _T2>' and 'int' 151 | x = c - b + 1; | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_pair.h:430:9: note: candidate: 'template<class _U1, class _U2> constexpr typename std::enable_if<std::__and_<std::is_assignable<_T1&, _U1&&>, std::is_assignable<_T2&, _U2&&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]' 430 | operator=(pair<_U1, _U2>&& __p) | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:430:9: note: template argument deduction/substitution failed: xoranges.cpp:151:25: note: mismatched types 'std::pair<_T1, _T2>' and 'int' 151 | x = c - b + 1; | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_pair.h:390:7: note: candidate: 'constexpr std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(typename std::conditional<std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value, const std::pair<_T1, _T2>&, const std::__nonesuch&>::type) [with _T1 = int; _T2 = int; typename std::conditional<std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value, const std::pair<_T1, _T2>&, const std::__nonesuch&>::type = const std::pair<int, int>&]' 390 | operator=(typename conditional< | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:393:55: note: no known conversion for argument 1 from 'int' to 'std::conditional<true, const std::pair<int, int>&, const std::__nonesuch&>::type' {aka 'const std::pair<int, int>&'} 390 | operator=(typename conditional< | ~~~~~~~~~~~~~~~~~~~~~ 391 | __and_<is_copy_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 392 | is_copy_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | const pair&, const __nonesuch&>::type __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/11/bits/stl_pair.h:401:7: note: candidate: 'constexpr std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(typename std::conditional<std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value, std::pair<_T1, _T2>&&, std::__nonesuch&&>::type) [with _T1 = int; _T2 = int; typename std::conditional<std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value, std::pair<_T1, _T2>&&, std::__nonesuch&&>::type = std::pair<int, int>&&]' 401 | operator=(typename conditional< | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:404:45: note: no known conversion for argument 1 from 'int' to 'std::conditional<true, std::pair<int, int>&&, std::__nonesuch&&>::type' {aka 'std::pair<int, int>&&'} 401 | operator=(typename conditional< | ~~~~~~~~~~~~~~~~~~~~~ 402 | __and_<is_move_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 403 | is_move_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | pair&&, __nonesuch&&>::type __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ xoranges.cpp:152:21: error: no match for 'operator&' (operand types are 'std::pair<int, int>' and 'int') 152 | if (!(x & 1)) | ~ ^ ~ | | | | | int | std::pair<int, int> In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:66, from xoranges.cpp:1: /usr/include/c++/11/bitset:1435:5: note: candidate: 'template<long unsigned int _Nb> std::bitset<_Nb> std::operator&(const std::bitset<_Nb>&, const std::bitset<_Nb>&)' 1435 | operator&(const bitset<_Nb>& __x, const bitset<_Nb>& __y) _GLIBCXX_NOEXCEPT | ^~~~~~~~ /usr/include/c++/11/bitset:1435:5: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: 'std::pair<int, int>' is not derived from 'const std::bitset<_Nb>' 152 | if (!(x & 1)) | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:411:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__bitwise_and, typename _Dom1::value_type>::result_type> std::operator&(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)' 411 | _DEFINE_EXPR_BINARY_OPERATOR(&, struct std::__bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:411:5: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: 'std::pair<int, int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' 152 | if (!(x & 1)) | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:411:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__bitwise_and, typename _Dom1::value_type>::result_type> std::operator&(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)' 411 | _DEFINE_EXPR_BINARY_OPERATOR(&, struct std::__bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:411:5: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: 'std::pair<int, int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' 152 | if (!(x & 1)) | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:411:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__bitwise_and, typename _Dom1::value_type>::result_type> std::operator&(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)' 411 | _DEFINE_EXPR_BINARY_OPERATOR(&, struct std::__bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:411:5: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int' 152 | if (!(x & 1)) | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:411:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__bitwise_and, typename _Dom1::value_type>::result_type> std::operator&(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray<typename _Dom::value_type>&)' 411 | _DEFINE_EXPR_BINARY_OPERATOR(&, struct std::__bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:411:5: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: 'std::pair<int, int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' 152 | if (!(x & 1)) | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:411:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__bitwise_and, typename _Dom1::value_type>::result_type> std::operator&(const std::valarray<typename _Dom::value_type>&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)' 411 | _DEFINE_EXPR_BINARY_OPERATOR(&, struct std::__bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:411:5: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int' 152 | if (!(x & 1)) | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/valarray:1192:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__bitwise_and, _Tp>::result_type> std::operator&(const std::valarray<_Tp>&, const std::valarray<_Tp>&)' 1192 | _DEFINE_BINARY_OPERATOR(&, __bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/valarray:1192:1: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: 'std::pair<int, int>' is not derived from 'const std::valarray<_Tp>' 152 | if (!(x & 1)) | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/valarray:1192:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__bitwise_and, _Tp>::result_type> std::operator&(const std::valarray<_Tp>&, const typename std::valarray<_Tp>::value_type&)' 1192 | _DEFINE_BINARY_OPERATOR(&, __bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/valarray:1192:1: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: 'std::pair<int, int>' is not derived from 'const std::valarray<_Tp>' 152 | if (!(x & 1)) | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/valarray:1192:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__bitwise_and, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__bitwise_and, _Tp>::result_type> std::operator&(const typename std::valarray<_Tp>::value_type&, const std::valarray<_Tp>&)' 1192 | _DEFINE_BINARY_OPERATOR(&, __bitwise_and) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/valarray:1192:1: note: template argument deduction/substitution failed: xoranges.cpp:152:23: note: mismatched types 'const std::valarray<_Tp>' and 'int' 152 | if (!(x & 1)) | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:45, from xoranges.cpp:1: /usr/include/c++/11/cstddef:142:3: note: candidate: 'constexpr std::byte std::operator&(std::byte, std::byte)' 142 | operator&(byte __l, byte __r) noexcept | ^~~~~~~~ /usr/include/c++/11/cstddef:142:18: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::byte' 142 | operator&(byte __l, byte __r) noexcept | ~~~~~^~~ In file included from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/ios_base.h:83:3: note: candidate: 'constexpr std::_Ios_Fmtflags std::operator&(std::_Ios_Fmtflags, std::_Ios_Fmtflags)' 83 | operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) | ^~~~~~~~ /usr/include/c++/11/bits/ios_base.h:83:27: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::_Ios_Fmtflags' 83 | operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/11/bits/ios_base.h:125:3: note: candidate: 'constexpr std::_Ios_Openmode std::operator&(std::_Ios_Openmode, std::_Ios_Openmode)' 125 | operator&(_Ios_Openmode __a, _Ios_Openmode __b) | ^~~~~~~~ /usr/include/c++/11/bits/ios_base.h:125:27: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::_Ios_Openmode' 125 | operator&(_Ios_Openmode __a, _Ios_Openmode __b) | ~~~~~~~~~~~~~~^~~ /usr/include/c++/11/bits/ios_base.h:165:3: note: candidate: 'constexpr std::_Ios_Iostate std::operator&(std::_Ios_Iostate, std::_Ios_Iostate)' 165 | operator&(_Ios_Iostate __a, _Ios_Iostate __b) | ^~~~~~~~ /usr/include/c++/11/bits/ios_base.h:165:26: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::_Ios_Iostate' 165 | operator&(_Ios_Iostate __a, _Ios_Iostate __b) | ~~~~~~~~~~~~~^~~ In file included from /usr/include/c++/11/bits/shared_ptr_atomic.h:33, from /usr/include/c++/11/memory:78, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:82, from xoranges.cpp:1: /usr/include/c++/11/bits/atomic_base.h:104:3: note: candidate: 'constexpr std::memory_order std::operator&(std::memory_order, std::__memory_order_modifier)' 104 | operator&(memory_order __m, __memory_order_modifier __mod) | ^~~~~~~~ /usr/include/c++/11/bits/atomic_base.h:104:26: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::memory_order' 104 | operator&(memory_order __m, __memory_order_modifier __mod) | ~~~~~~~~~~~~~^~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:105, from xoranges.cpp:1: /usr/include/c++/11/future:142:20: note: candidate: 'constexpr std::launch std::operator&(std::launch, std::launch)' 142 | constexpr launch operator&(launch __x, launch __y) noexcept | ^~~~~~~~ /usr/include/c++/11/future:142:37: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::launch' 142 | constexpr launch operator&(launch __x, launch __y) noexcept | ~~~~~~~^~~ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:127, from xoranges.cpp:1: /usr/include/c++/11/charconv:666:3: note: candidate: 'constexpr std::chars_format std::operator&(std::chars_format, std::chars_format)' 666 | operator&(chars_format __lhs, chars_format __rhs) noexcept | ^~~~~~~~ /usr/include/c++/11/charconv:666:26: note: no known conversion for argument 1 from 'std::pair<int, int>' to 'std::chars_format' 666 | operator&(chars_format __lhs, chars_format __rhs) noexcept | ~~~~~~~~~~~~~^~~~~ xoranges.cpp:159:37: error: no match for 'operator=' (operand types are 'std::pair<int, int>' and 'const int') 159 | y = min(i - b, c - i); | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_pair.h:418:9: note: candidate: 'template<class _U1, class _U2> constexpr typename std::enable_if<std::__and_<std::is_assignable<_T1&, const _U1&>, std::is_assignable<_T2&, const _U2&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(const std::pair<_U1, _U2>&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]' 418 | operator=(const pair<_U1, _U2>& __p) | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:418:9: note: template argument deduction/substitution failed: xoranges.cpp:159:37: note: mismatched types 'const std::pair<_T1, _T2>' and 'const int' 159 | y = min(i - b, c - i); | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_pair.h:430:9: note: candidate: 'template<class _U1, class _U2> constexpr typename std::enable_if<std::__and_<std::is_assignable<_T1&, _U1&&>, std::is_assignable<_T2&, _U2&&> >::value, std::pair<_T1, _T2>&>::type std::pair<_T1, _T2>::operator=(std::pair<_U1, _U2>&&) [with _U1 = _U1; _U2 = _U2; _T1 = int; _T2 = int]' 430 | operator=(pair<_U1, _U2>&& __p) | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:430:9: note: template argument deduction/substitution failed: xoranges.cpp:159:37: note: mismatched types 'std::pair<_T1, _T2>' and 'const int' 159 | y = min(i - b, c - i); | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:64, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_pair.h:390:7: note: candidate: 'constexpr std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(typename std::conditional<std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value, const std::pair<_T1, _T2>&, const std::__nonesuch&>::type) [with _T1 = int; _T2 = int; typename std::conditional<std::__and_<std::is_copy_assignable<_T1>, std::is_copy_assignable<_T2> >::value, const std::pair<_T1, _T2>&, const std::__nonesuch&>::type = const std::pair<int, int>&]' 390 | operator=(typename conditional< | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:393:55: note: no known conversion for argument 1 from 'const int' to 'std::conditional<true, const std::pair<int, int>&, const std::__nonesuch&>::type' {aka 'const std::pair<int, int>&'} 390 | operator=(typename conditional< | ~~~~~~~~~~~~~~~~~~~~~ 391 | __and_<is_copy_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 392 | is_copy_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 393 | const pair&, const __nonesuch&>::type __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ /usr/include/c++/11/bits/stl_pair.h:401:7: note: candidate: 'constexpr std::pair<_T1, _T2>& std::pair<_T1, _T2>::operator=(typename std::conditional<std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value, std::pair<_T1, _T2>&&, std::__nonesuch&&>::type) [with _T1 = int; _T2 = int; typename std::conditional<std::__and_<std::is_move_assignable<_Tp>, std::is_move_assignable<_T2> >::value, std::pair<_T1, _T2>&&, std::__nonesuch&&>::type = std::pair<int, int>&&]' 401 | operator=(typename conditional< | ^~~~~~~~ /usr/include/c++/11/bits/stl_pair.h:404:45: note: no known conversion for argument 1 from 'const int' to 'std::conditional<true, std::pair<int, int>&&, std::__nonesuch&&>::type' {aka 'std::pair<int, int>&&'} 401 | operator=(typename conditional< | ~~~~~~~~~~~~~~~~~~~~~ 402 | __and_<is_move_assignable<_T1>, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 403 | is_move_assignable<_T2>>::value, | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 404 | pair&&, __nonesuch&&>::type __p) | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~ xoranges.cpp:160:28: error: no match for 'operator+' (operand types are 'std::pair<int, int>' and 'int') 160 | z = x * (y + 1); | ~ ^ ~ | | | | | int | std::pair<int, int> In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_iterator.h:585:5: note: candidate: 'template<class _Iterator> constexpr std::reverse_iterator<_IteratorL> std::operator+(typename std::reverse_iterator<_IteratorL>::difference_type, const std::reverse_iterator<_IteratorL>&)' 585 | operator+(typename reverse_iterator<_Iterator>::difference_type __n, | ^~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:585:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const std::reverse_iterator<_IteratorL>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/bits/stl_algobase.h:67, from /usr/include/c++/11/bits/specfun.h:45, from /usr/include/c++/11/cmath:1935, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:41, from xoranges.cpp:1: /usr/include/c++/11/bits/stl_iterator.h:1700:5: note: candidate: 'template<class _Iterator> constexpr std::move_iterator<_IteratorL> std::operator+(typename std::move_iterator<_IteratorL>::difference_type, const std::move_iterator<_IteratorL>&)' 1700 | operator+(typename move_iterator<_Iterator>::difference_type __n, | ^~~~~~~~ /usr/include/c++/11/bits/stl_iterator.h:1700:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const std::move_iterator<_IteratorL>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6095:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 6095 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6095:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:56, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.tcc:1169:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 1169 | operator+(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.tcc:1169:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const _CharT*' and 'std::pair<int, int>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:56, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.tcc:1189:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(_CharT, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 1189 | operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.tcc:1189:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6132:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, const _CharT*)' 6132 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6132:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6148:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, _CharT)' 6148 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6148:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6160:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&)' 6160 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6160:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6166:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&)' 6166 | operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6166:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6172:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&)' 6172 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6172:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6194:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(const _CharT*, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&)' 6194 | operator+(const _CharT* __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6194:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const _CharT*' and 'std::pair<int, int>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6200:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(_CharT, std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&)' 6200 | operator+(_CharT __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6200:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6206:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, const _CharT*)' 6206 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6206:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/string:55, from /usr/include/c++/11/bits/locale_classes.h:40, from /usr/include/c++/11/bits/ios_base.h:41, from /usr/include/c++/11/ios:42, from /usr/include/c++/11/istream:38, from /usr/include/c++/11/sstream:38, from /usr/include/c++/11/complex:45, from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/bits/basic_string.h:6212:5: note: candidate: 'template<class _CharT, class _Traits, class _Alloc> std::__cxx11::basic_string<_CharT, _Traits, _Allocator> std::operator+(std::__cxx11::basic_string<_CharT, _Traits, _Allocator>&&, _CharT)' 6212 | operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, | ^~~~~~~~ /usr/include/c++/11/bits/basic_string.h:6212:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'std::__cxx11::basic_string<_CharT, _Traits, _Allocator>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/complex:332:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const std::complex<_Tp>&, const std::complex<_Tp>&)' 332 | operator+(const complex<_Tp>& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/11/complex:332:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::complex<_Tp>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/complex:341:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const std::complex<_Tp>&, const _Tp&)' 341 | operator+(const complex<_Tp>& __x, const _Tp& __y) | ^~~~~~~~ /usr/include/c++/11/complex:341:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::complex<_Tp>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/complex:350:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const _Tp&, const std::complex<_Tp>&)' 350 | operator+(const _Tp& __x, const complex<_Tp>& __y) | ^~~~~~~~ /usr/include/c++/11/complex:350:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const std::complex<_Tp>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/ccomplex:39, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:54, from xoranges.cpp:1: /usr/include/c++/11/complex:451:5: note: candidate: 'template<class _Tp> constexpr std::complex<_Tp> std::operator+(const std::complex<_Tp>&)' 451 | operator+(const complex<_Tp>& __x) | ^~~~~~~~ /usr/include/c++/11/complex:451:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::complex<_Tp>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom1, class _Dom2> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Expr, std::_Expr, _Dom1, _Dom2>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::_Expr<_Dom2, typename _Dom2::value_type>&)' 405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Expr, std::_Constant, _Dom, typename _Dom::value_type>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const typename _Dom::value_type&)' 405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Constant, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const typename _Dom::value_type&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)' 405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Expr, std::_ValArray, _Dom, typename _Dom::value_type>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const std::_Expr<_Dom1, typename _Dom1::value_type>&, const std::valarray<typename _Dom::value_type>&)' 405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::_Expr<_Dom1, typename _Dom1::value_type>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/c++/11/valarray:603, from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/bits/valarray_after.h:405:5: note: candidate: 'template<class _Dom> std::_Expr<std::__detail::_BinClos<std::__plus, std::_ValArray, std::_Expr, typename _Dom::value_type, _Dom>, typename std::__fun<std::__plus, typename _Dom1::value_type>::result_type> std::operator+(const std::valarray<typename _Dom::value_type>&, const std::_Expr<_Dom1, typename _Dom1::value_type>&)' 405 | _DEFINE_EXPR_BINARY_OPERATOR(+, struct std::__plus) | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/bits/valarray_after.h:405:5: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: mismatched types 'const std::_Expr<_Dom1, typename _Dom1::value_type>' and 'int' 160 | z = x * (y + 1); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/valarray:1186:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__plus, std::_ValArray, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__plus, _Tp>::result_type> std::operator+(const std::valarray<_Tp>&, const std::valarray<_Tp>&)' 1186 | _DEFINE_BINARY_OPERATOR(+, __plus) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/valarray:1186:1: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::valarray<_Tp>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/valarray:1186:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__plus, std::_ValArray, std::_Constant, _Tp, _Tp>, typename std::__fun<std::__plus, _Tp>::result_type> std::operator+(const std::valarray<_Tp>&, const typename std::valarray<_Tp>::value_type&)' 1186 | _DEFINE_BINARY_OPERATOR(+, __plus) | ^~~~~~~~~~~~~~~~~~~~~~~ /usr/include/c++/11/valarray:1186:1: note: template argument deduction/substitution failed: xoranges.cpp:160:30: note: 'std::pair<int, int>' is not derived from 'const std::valarray<_Tp>' 160 | z = x * (y + 1); | ^ In file included from /usr/include/x86_64-linux-gnu/c++/11/bits/stdc++.h:95, from xoranges.cpp:1: /usr/include/c++/11/valarray:1186:1: note: candidate: 'template<class _Tp> std::_Expr<std::__detail::_BinClos<std::__plus, std::_Constant, std::_ValArray, _Tp, _Tp>, typename std::__fun<std::__plus, _Tp>::result_type> std::operator+(const typename std::valarray<_Tp>::value_type&, const std::valarra