题目描述
输入
输出
摘自题解。。orz我还是太菜了
#includeusing namespace std;typedef long long LL;#define m first#define w secondconst int SIZE=1e5+7;int c[SIZE];struct shoe{ int w,m;} p[SIZE];inline int lowbit(int x) { return x&-x;}void update(int x) { for(;x 0;x-=lowbit(x)) res+=c[x]; return res;}bool cmp(shoe s1,shoe s2){ return (s1.m < s2.m);}int main(){ freopen("test.in","r",stdin); int n,M,W; while((scanf("%d%d%d",&n,&M,&W)!= EOF)) { for(int i=0;i =0;r--) { for(;l <=M;++l) update(p[l].w); if(W-p[r].w>0) ans+=query(W-p[r].w); } for(int i=0;i