teams.cpp: In function 'void add(int, int)':
teams.cpp:17:6: warning: statement has no effect [-Wunused-value]
17 | for(x; x <= n; x += x&(-x)){
| ^
teams.cpp:18:58: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
18 | for(int idx = lower_bound(d[x].begin(), d[x].end(), y) - d[x].begin(); idx < d[x].size(); idx += idx&(-idx))FW[x][idx]++;
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
teams.cpp:18:78: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
18 | for(int idx = lower_bound(d[x].begin(), d[x].end(), y) - d[x].begin(); idx < d[x].size(); idx += idx&(-idx))FW[x][idx]++;
| ~~~~^~~~~~~~~~~~~
teams.cpp: In function 'int gt(int, int)':
teams.cpp:24:6: warning: statement has no effect [-Wunused-value]
24 | for(x; x > 0; x -= x&(-x)){
| ^
teams.cpp:25:73: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
25 | for(int idx = upper_bound(d[x].begin(), d[x].end(), y) - d[x].begin() - 1; idx > 0; idx -= idx&(-idx))re += FW[x][idx];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
teams.cpp: In function 'int can(int, int*)':
teams.cpp:60:24: warning: declaration of 'i' shadows a previous local [-Wshadow]
60 | if(i + 1 < M)for(int i = 0; i < n; i++)pfx_gap += (K[i] < L[i] && R[i] < K[i+1]);
| ^
teams.cpp:55:10: note: shadowed declaration is here
55 | for(int i = 0; i < M; i++){
| ^