teams.cpp: In function 'void add(int, int)':
teams.cpp:16:6: warning: statement has no effect [-Wunused-value]
16 | for(x; x <= n; x += x&(-x)){
| ^
teams.cpp:17:58: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
17 | 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:17:78: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
17 | 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:23:6: warning: statement has no effect [-Wunused-value]
23 | for(x; x > 0; x -= x&(-x)){
| ^
teams.cpp:24:73: warning: conversion from '__gnu_cxx::__normal_iterator<int*, std::vector<int> >::difference_type' {aka 'long int'} to 'int' may change value [-Wconversion]
24 | 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];
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~