为什么这样写( add 和 del )不行
#define add(x) tmp += (!cnt[x] ? 1 : 0), cnt[x]++
#define del(x) cnt[x]--, tmp -= (!cnt[x] ? 1 : 0)
得改成
inline void add(int x) { tmp += (!cnt[x] ? 1 : 0), cnt[x]++; }
inline void del(int x) { cnt[x]--, tmp -= (!cnt[x] ? 1 : 0); }