本题的关键之处在于发现10^5中~~最多小于450个符合要求的x.这种情况是1+2+3+4+....+n<=100000....得n<450...如此问题就大大简单了....首先找出这450个数..然后用h[100000][450] 来记录这些能符合要求的数在个个位置的和情况...构造h][]的大致需要10^5*450=4.5*10^7次操作~~可以接受
那么查询就非常快了..因为已经做好了这450个数在1~i ( 1 <= i <= n ) 的个数...每次询问~就只要看这450个数在这个区间的个数就行了~~
Program:
[cpp]
#include
#include
#include
#include
#include
#include