UPDATEIT  Update the array !
You have an array containing n elements initially all 0. You need to do a number of update operations on it. In each update you specify l, r and val which are the starting index, ending index and value to be added. After each update, you add the 'val' to all elements from index l to r. After 'u' updates are over, there will be q queries each containing an index for which you have to print the element at that index.
Input
First line consists of t, the number of test cases. (1 <= t <= 10)
Each test case consists of "n u",number of elements in the array and the number of update operations, in the first line (1 <= n <= 10000 and 1 <= u <= 100000)
Then follow u lines each of the format "l r val" (0 <= l,r < n, 0 <= val <=10000)
Next line contains q, the number of queries. (1 <= q <= 10000)
Next q lines contain an index (0 <= index < n)
Output
For each test case, output the answers to the corresponding queries in separate lines.
Example
Input: 1
5 3
0 1 7
2 4 6
1 3 2
3
0
3
4
Output:
7
8
6
hide comments
masterchef2209:
20190108 12:00:04
learned difference array use Last edit: 20190108 12:00:12 

ankitpriyarup:
20181220 16:24:04
Simply use a difference array :) 

pigpork:
20181215 06:36:10
AC in no goes! :) 

nuhash_40:
20181014 23:43:03
ac in one go :) done with normal cumulative sum array 

Bojan Rosko:
20181005 12:05:37
Thanks to rajcoolaryan, similarly got TLE for cin cout.


kalyanavuthu:
20180826 11:45:49
Segment Tree with lazy propogation done the job...! :p 

deepak097:
20180823 07:28:28
AC in one go :) 

ayusofayush:
20180811 19:43:32
prefect question to implement BIT/Fenwick Tree Last edit: 20180811 20:04:14 

supriyanta:
20180809 22:54:54
Did anyone solve using bitmask? 

supriyanta:
20180809 22:53:07
sqrt decomposition or BIT or difference array 
Added by:  Pandian 
Date:  20131015 
Time limit:  0.118s0.324s 
Source limit:  50000B 
Memory limit:  1536MB 
Cluster:  Cube (Intel G860) 
Languages:  All except: ASM64 
Resource:  Own 