Spoj question help

question link: SPOJ.com - Problem XXXXXXXX
solution link : 13oYrG - Online C++0x Compiler & Debugging Tool - Ideone.com
my solution is getting WA at 17 or 18th test case at spoj.
can somebody plz tell the error?

I think you should avoid such a huge template and macros when you ask someone to check your code, it’s not easy to follow. I’ve not tested your solution but…you unordered_map “mp” stores just one update for each x, what if there are more updates for the same x? I think the error can come from that.

I am just using mp to store the previous value of array at that index which gets updated. All the updates are stored in upd . And yes i will remove the template from next time

ok. I see you first read in this order n, q, a[]; but the input is n,a[],q. Also, your comp function uses <=, you should avoid that; sorting without strict weak ordering could lead to unexpected results

now runtime on approx 20th
updated solution:

the numbers can be negative or larger than 1000001. The lines for example in the add function:

ll ele=a[pos];
f[ele]++;

will produce runtime error when ele < 0 or ele > 1000000

ohh so what should i do because i need to check the frequency of each element

you can use a map to do that

ohok give me some time i will do the req changes and tell you

WA still on 20

what I would do is write a simple brute force solution to compare results on small test cases. That can help to find the error in the main solution. For example, try this test case
6
-3 7 -8 -1 -4 5
4
R 6 7
Q 1 4
R 2 -1
Q 4 6

The solution should be -5 2 but your code is giving -5 3

updated solution :gh52Zm - Online C++0x Compiler & Debugging Tool - Ideone.com
now time limit exceeded after 20
it should be solved with mo with updates right?