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
kamran siddique:
2015-05-05 13:16:06
TLE with cin, cout AC :) with scanf,printf |
|
Ankit Sultana:
2015-04-15 22:14:48
O(n) |
|
Bhawna Jain:
2015-03-19 09:00:19
My 100th submission on SPOJ yippee :D |
|
Abhilash:
2015-03-12 05:12:52
O(n) |
|
Archit Jain:
2014-12-24 19:09:46
o(n) |
|
vb:
2014-12-21 06:00:44
First all updates :=> then follows queries |
|
Samar Holkar:
2014-12-19 08:53:28
my first problem with BIT ....use scanf to avoid tle |
|
Malfple:
2014-11-21 12:04:34
No need BIT or segment tree ~~~ ~~ ~ |
|
Luis Manuel D�az Bar�n:
2014-10-17 18:09:42
Had to use BIT to get AC, it's unfair, I tried a Segment Tree and gets TLE, even though I tried everything about improving I/O time |
|
Divyank Duvedi:
2014-09-30 00:21:04
Use fast I/O if u are using segTree |
Added by: | Pandian |
Date: | 2013-10-15 |
Time limit: | 1s |
Source limit: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Languages: | All except: ASM64 |
Resource: | Own |