Faster input maybe, but not output. Don't use endl, use '\n' instead. Even better if you replace the whole thing with printf("%d\n", query(1,0,n-1,x,y));
Also you could try replacing every 2 * node with node << 1 and every 2 * node + 1 with (node << 1) | 1, maybe it will help.
Check out your link to the problem. "The requested URL was not found on this server.".
You need faster IO.
cin
andcout
are too slow ( even usingios::sync_with_stdio(false)
) .Even
scanf
andprintf
are slow for this problem.I used them and got TLE. After that I usedgetchar_unlocked()
and got AC .scanf() printf() is enough. I got AC using scanf() and printf().
my code having faster i/o function.
Faster input maybe, but not output. Don't use
endl
, use'\n'
instead. Even better if you replace the whole thing withprintf("%d\n", query(1,0,n-1,x,y));
Also you could try replacing every
2 * node
withnode << 1
and every2 * node + 1
with(node << 1) | 1
, maybe it will help.