paint.cpp: In function 'std::string solve_puzzle(std::string, std::vector<int>)':
paint.cpp:15:29: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
15 | lb[0] = 0; for(int i=1;i<s.size();i++) lb[i] = (s[i] == 'X' ? i : lb[i-1]);
| ~^~~~~~~~~
paint.cpp:19:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
19 | for(int i=1;i<s.size();i++) wc[i] = wc[i-1] + (s[i] == '_'), bc[i] = bc[i-1] + (s[i] == 'X');
| ~^~~~~~~~~
paint.cpp:25:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
25 | for(int i=0;i<s.size();i++) black[i] = (s[i] == 'X'), white[i] = (s[i] == '_');
| ~^~~~~~~~~
paint.cpp: In lambda function:
paint.cpp:28:70: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
28 | auto getqsr = [&](int a, int b, int lev){return qsr[a][lev] - (b == s.size()-1 ? 0 : qsr[b+1][lev]);};
| ~~^~~~~~~~~~~~~
paint.cpp: In function 'std::string solve_puzzle(std::string, std::vector<int>)':
paint.cpp:30:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
30 | for(int i=0;i<s.size();i++) {
| ~^~~~~~~~~
paint.cpp:35:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
35 | for(int j=1;j<c.size();j++) {
| ~^~~~~~~~~
paint.cpp:36:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
36 | for(int i=0;i<s.size();i++) {
| ~^~~~~~~~~
paint.cpp:37:125: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
37 | if(i > c[j] && getwc(i-c[j]+1, i) == 0 && s[i-c[j]] != 'X' && getqsl(lb[i-c[j]-1], i-c[j]-1, j-1) && !(c.size() == j+1 && getbc(i+1, s.size()-1))) dpl[i][j] = 1;
| ~~~~~~~~~^~~~~~
paint.cpp:44:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
44 | if(i+c[c.size()-1] <= s.size() && getwc(i, i+c[c.size()-1]-1) == 0 && !getbc(i+c[c.size()-1], s.size()-1) && !(c.size() == 1 && getbc(0, i-1))) dpr[i][c.size()-1] = 1;
| ~~~~~~~~~~~~~~~~^~~~~~~~~~~
paint.cpp:46:54: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
46 | qsr[i][c.size()-1] = dpr[i][c.size()-1] + (i == s.size()-1 ? 0 : qsr[i+1][c.size()-1]);
| ~~^~~~~~~~~~~~~
paint.cpp:50:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
50 | if(i+c[j]+2 <= s.size() && getwc(i, i+c[j]-1) == 0 && s[i+c[j]] != 'X' && getqsr(i+c[j]+1, rb[i+c[j]+1], j+1) && !(!j && getbc(0, i-1))) dpr[i][j] = 1;
| ~~~~~~~~~^~~~~~~~~~~
paint.cpp:52:40: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
52 | qsr[i][j] = dpr[i][j] + (i == s.size()-1 ? 0 : qsr[i+1][j]);
| ~~^~~~~~~~~~~~~
paint.cpp:57:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
57 | for(int i=0;i+1<s.size();i++)
| ~~~^~~~~~~~~
paint.cpp:59:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
59 | for(int i=1;i<s.size();i++)
| ~^~~~~~~~~
paint.cpp:61:20: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
61 | for(int i=0;i+2<s.size();i++) {
| ~~~^~~~~~~~~
paint.cpp:62:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
62 | for(int j=0;j+1<c.size();j++) {
| ~~~^~~~~~~~~
paint.cpp:67:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
67 | for(int j=0;j<c.size();j++) {
| ~^~~~~~~~~
paint.cpp:68:14: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
68 | if(j == c.size()-1) {
| ~~^~~~~~~~~~~~~
paint.cpp:69:26: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
69 | for(int i=0;i<s.size();i++) {
| ~^~~~~~~~~
paint.cpp:74:28: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
74 | for(int i=0;i+2<s.size();i++) {
| ~~~^~~~~~~~~
paint.cpp:81:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
81 | for(int i=0;i<s.size();i++) {
| ~^~~~~~~~~
paint.cpp:86:18: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
86 | for(int i=0;i<s.size();i++) {
| ~^~~~~~~~~