paint.cpp: In function 'std::string solve_puzzle(std::string, std::vector<int>)':
paint.cpp:68:23: error: no match for 'operator|=' (operand types are 'std::vector<bool>::reference' and 'std::vector<bool>::reference')
68 | dp1[i][j] |= dp1[i - 1][j];
| ~~~~~~~~~~^~~~~~~~~~~~~~~~
In file included from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:176,
from paint.cpp:2:
/usr/include/c++/13/future:179:18: note: candidate: 'std::launch& std::operator|=(launch&, launch)'
179 | inline launch& operator|=(launch& __x, launch __y) noexcept
| ^~~~~~~~
/usr/include/c++/13/future:179:37: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::launch&'
179 | inline launch& operator|=(launch& __x, launch __y) noexcept
| ~~~~~~~~^~~
In file included from /usr/include/c++/13/format:39,
from /usr/include/c++/13/bits/chrono_io.h:39,
from /usr/include/c++/13/chrono:3370,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:172:
/usr/include/c++/13/charconv:657:3: note: candidate: 'constexpr std::chars_format& std::operator|=(chars_format&, chars_format)'
657 | operator|=(chars_format& __lhs, chars_format __rhs) noexcept
| ^~~~~~~~
/usr/include/c++/13/charconv:657:28: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::chars_format&'
657 | operator|=(chars_format& __lhs, chars_format __rhs) noexcept
| ~~~~~~~~~~~~~~^~~~~
In file included from /usr/include/c++/13/streambuf:43,
from /usr/include/c++/13/bits/streambuf_iterator.h:35,
from /usr/include/c++/13/iterator:66,
from /usr/include/x86_64-linux-gnu/c++/13/bits/stdc++.h:54:
/usr/include/c++/13/bits/ios_base.h:182:3: note: candidate: 'const std::_Ios_Iostate& std::operator|=(_Ios_Iostate&, _Ios_Iostate)'
182 | operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
| ^~~~~~~~
/usr/include/c++/13/bits/ios_base.h:182:28: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::_Ios_Iostate&'
182 | operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
| ~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/ios_base.h:142:3: note: candidate: 'const std::_Ios_Openmode& std::operator|=(_Ios_Openmode&, _Ios_Openmode)'
142 | operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
| ^~~~~~~~
/usr/include/c++/13/bits/ios_base.h:142:29: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::_Ios_Openmode&'
142 | operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
| ~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/ios_base.h:99:3: note: candidate: 'const std::_Ios_Fmtflags& std::operator|=(_Ios_Fmtflags&, _Ios_Fmtflags)'
99 | operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
| ^~~~~~~~
/usr/include/c++/13/bits/ios_base.h:99:29: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::_Ios_Fmtflags&'
99 | operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
| ~~~~~~~~~~~~~~~^~~
In file included from /usr/include/c++/13/bits/memory_resource.h:38,
from /usr/include/c++/13/string:58,
from paint.h:3,
from paint.cpp:1:
/usr/include/c++/13/cstddef:167:3: note: candidate: 'constexpr std::byte& std::operator|=(byte&, byte)'
167 | operator|=(byte& __l, byte __r) noexcept
| ^~~~~~~~
/usr/include/c++/13/cstddef:167:20: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::byte&'
167 | operator|=(byte& __l, byte __r) noexcept
| ~~~~~~^~~
paint.cpp:74:23: error: no match for 'operator|=' (operand types are 'std::vector<bool>::reference' and 'std::vector<bool>::reference')
74 | dp2[i][j] |= dp2[i + 1][j];
| ~~~~~~~~~~^~~~~~~~~~~~~~~~
/usr/include/c++/13/future:179:18: note: candidate: 'std::launch& std::operator|=(launch&, launch)'
179 | inline launch& operator|=(launch& __x, launch __y) noexcept
| ^~~~~~~~
/usr/include/c++/13/future:179:37: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::launch&'
179 | inline launch& operator|=(launch& __x, launch __y) noexcept
| ~~~~~~~~^~~
/usr/include/c++/13/charconv:657:3: note: candidate: 'constexpr std::chars_format& std::operator|=(chars_format&, chars_format)'
657 | operator|=(chars_format& __lhs, chars_format __rhs) noexcept
| ^~~~~~~~
/usr/include/c++/13/charconv:657:28: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::chars_format&'
657 | operator|=(chars_format& __lhs, chars_format __rhs) noexcept
| ~~~~~~~~~~~~~~^~~~~
/usr/include/c++/13/bits/ios_base.h:182:3: note: candidate: 'const std::_Ios_Iostate& std::operator|=(_Ios_Iostate&, _Ios_Iostate)'
182 | operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
| ^~~~~~~~
/usr/include/c++/13/bits/ios_base.h:182:28: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::_Ios_Iostate&'
182 | operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
| ~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/ios_base.h:142:3: note: candidate: 'const std::_Ios_Openmode& std::operator|=(_Ios_Openmode&, _Ios_Openmode)'
142 | operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
| ^~~~~~~~
/usr/include/c++/13/bits/ios_base.h:142:29: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::_Ios_Openmode&'
142 | operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
| ~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/bits/ios_base.h:99:3: note: candidate: 'const std::_Ios_Fmtflags& std::operator|=(_Ios_Fmtflags&, _Ios_Fmtflags)'
99 | operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
| ^~~~~~~~
/usr/include/c++/13/bits/ios_base.h:99:29: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::_Ios_Fmtflags&'
99 | operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
| ~~~~~~~~~~~~~~~^~~
/usr/include/c++/13/cstddef:167:3: note: candidate: 'constexpr std::byte& std::operator|=(byte&, byte)'
167 | operator|=(byte& __l, byte __r) noexcept
| ^~~~~~~~
/usr/include/c++/13/cstddef:167:20: note: no known conversion for argument 1 from 'std::vector<bool>::reference' to 'std::byte&'
167 | operator|=(byte& __l, byte __r) noexcept
| ~~~~~~^~~