Home_W过年闲得蛋疼,于是就出了道题
设V={a1,a2,a3,……an}是一个可重,有序集(从小到大)。
这个集合有以下两种操作
1 x y :往V中加入y,并把原先V中所有数值落在[1,x]的元素+y后的值做为新元素也加入V
如对集合 {1,2,2} 进行操作 1 2 1 ,本次操作要加入的新元素构成的集合V'={1,2,3,3},新的V=V+V'={1,1,2,2,2,3,3}
2 x :对于所有数值落在[1,x]中的元素,求sum=∑(ai*i),即计算它们的数值*下标的和
如集合V={1,1,2,2,2,3,3},进行操作 2 2 得到sum=1*1+1*2+2*3+2*4+2*5=27
注意:元素个数可能会超过1000万,所以暴力是不可取的,要用些优化
有多组测试数据,请处理到文件末尾
每组第一行是一个整数 n代表操作次数
每组数据开始时默认V为空集
接下来t行,有两种类型
1 x y
或者
2 x
其中n<=180
1<=x,y<=10^6
数据不超过100组
本题数据完全随机生成
对于第二种操作输出 sum的值
每个结果各占一行
保证所有结果在long long 以内
6 1 3 3 1 3 3 2 10 1 2 3 1 2 3 2 100 13 1 19011 82366 2 23892 1 83188 62556 2 24059 1 87992 22263 1 83843 57746 2 39399 1 71544 62312 2 5057 2 8557 2 36109 1 16928 2172 1 29137 55226
27 60 0 0 22263 0 0 22263