match.cpp: In function 'bool solve(int, int)':
match.cpp:31:21: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
return cache[key]=r;
match.cpp:43:24: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
return cache[key]=i-1;
match.cpp:49:19: warning: suggest parentheses around assignment used as truth value [-Wparentheses]
return cache[key]=-1;
match.cpp: In function 'void read(int&)':
match.cpp:6:25: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
void read(int& x){ scanf("%d",&x); }
~~~~~^~~~~~~~~
match.cpp: In function 'void read(ll&)':
match.cpp:7:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
void read(ll& x){ scanf("%lld",&x); }
~~~~~^~~~~~~~~~~
match.cpp: In function 'int main()':
match.cpp:63:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
scanf("%s", s+1);
~~~~~^~~~~~~~~~~