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