本站作为LDUOnlineJudge的测试版本进行演示,官方网站请访问http://icpc.ldu.edu.cn
[Hidden ☆ before use]

1096. 数列分块入门 2


Description

给出一个长为 n 的数列,以及 n 个操作,操作涉及区间加法,询问区间内小于某个值 x 的元素个数。

Input

第一行输入一个数字 n。

第二行输入 n 个数字,第 i 个数字为 ai,以空格隔开。

接下来输入 n 行询问,每行输入四个数字opt 、l、r、c,以空格隔开。

若opt=0,表示将位于[l,r]的之间的数字都加c。

若opt=1,表示询问中[l,r]小于c2的数字的个数。

Output

对于每次询问,输出一行一个数字表示答案。

Samples

Input Copy
4
1 2 2 3
0 1 3 1
1 1 3 2
1 1 4 1
1 2 3 2
Output
3
0
2

Hint

n<=50000, -231<=others, ans<=231-1

Source

loj.ac
Problem Information

Time Limit: 3000MS (C/C++,Others×2)
Memory Limit: 256MB (C/C++,Others×2)
Special Judge: No
AC/Submit: 1 / 3
Tags:
Contests involved

1012. 数列分块练习
My history solutions

You didn't submit any solution!
Submit your solution

Login Register