molecules.cpp: In function 'bool solve(int, int, std::vector<int>)':
molecules.cpp:14:32: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
14 | if(sum>U) return dp[i][sum]=0;
| ~~~~~~~~~~^~
molecules.cpp:20:26: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
20 | return dp[i][sum]=1;
| ~~~~~~~~~~^~
molecules.cpp:22:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
22 | if(i==v.size()) return dp[i][sum]=0;
| ~^~~~~~~~~~
molecules.cpp:22:38: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
22 | if(i==v.size()) return dp[i][sum]=0;
| ~~~~~~~~~~^~
molecules.cpp:23:29: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
23 | if(ok) return dp[i][sum]=1;
| ~~~~~~~~~~^~
molecules.cpp:28:29: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
28 | if(aa) return dp[i][sum]=1;
| ~~~~~~~~~~^~
molecules.cpp:29:29: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
29 | if(ok) return dp[i][sum]=1;
| ~~~~~~~~~~^~
molecules.cpp:31:29: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
31 | if(bb) return dp[i][sum]=1;
| ~~~~~~~~~~^~
molecules.cpp:32:29: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
32 | if(ok) return dp[i][sum]=1;
| ~~~~~~~~~~^~
molecules.cpp:33:22: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
33 | return dp[i][sum]=(aa|bb);
| ~~~~~~~~~~^~~~~~~~