cigle.cpp: In function 'int qry(int, int)':
cigle.cpp:10:25: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
10 | for(int i=x; i>=0; i-=i+1&~i)
| ~^~
cigle.cpp: In function 'void upd(int, int, int)':
cigle.cpp:15:24: warning: suggest parentheses around '+' in operand of '&' [-Wparentheses]
15 | for(int i=x; i<n; i+=i+1&~i)
| ~^~
cigle.cpp: In function 'int main()':
cigle.cpp:46:33: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
46 | for(int j=0, k=0, matches=0; j<prefsum.size(); j++){
| ~^~~~~~~~~~~~~~~
cigle.cpp:47:13: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
47 | while(k+1<suffsum.size() and suffsum[k]<prefsum[j])
| ~~~^~~~~~~~~~~~~~~
cigle.cpp:19:7: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
19 | scanf("%d", &n);
| ~~~~~^~~~~~~~~~
cigle.cpp:22:8: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
22 | scanf("%d", &i);
| ~~~~~^~~~~~~~~~