19市赛 树状数组 第k个糖果
题意: 口袋里可以放进不同大小的糖果,也可以拿出不同大小的糖果。查询过程中第k小的糖果体积是多少 输入T,有T组,接下来是输入m次操作 m行输入op和x 当op等于1的时候,放进x大小的糖果 当op等于2的时候,拿进x大小的糖果 当op等于3的时候,查询第x小的糖果,并输出答案 思路:二分+树状数组(比赛时限) 这里写一个优化的树状数组的写法 1 #include<iostream> 2 #include<cstring> 3 #include<cstdio> 4 #include<cmath> 5 #include<algorithm> 6 #include<string> 7 #define mem(a,b) memset(a,b,sizeof(a)) 8 #define inf 0x3f3f3f3f 9 #define ll long long 10 #define lowbit(b) b&(-b) 11 using namespace std; 12 const int maxn=1e5+10; 13 int c[maxn],f[20]; 14 inline int read() { 15 char ch = getchar(); int x = 0, f = 1; 16 while(ch < '0' || ch > '9') { 17 if(ch == '-') f =