| Task: | Dynamic Range Minimum Queries |
| Sender: | luukwin |
| Submission time: | 2025-09-22 14:41:45 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.04 s | details |
| #2 | RUNTIME ERROR | 0.12 s | details |
Code
n, q = [int(x) for x in input().split()]
N = 1 << (n-1).bit_length()
print(N)
array = [int(x) for x in input().split()]
minimums = [10**10 for _ in range(N)]
minimums.extend(array)
def BuildSparseTree():
for i in range(N-1, 0, -1):
minimums[i] = min(minimums[i*2], minimums[i*2+1])
BuildSparseTree()
output = []
for i in range(q):
action, k, u = [int(x) for x in input().split()]
if action == 1:
k = (k + N - 1) // 2
minimums[k+N] = u
while k > 0:
minimums[k] = min(minimums[k*2], minimums[k*2+1])
k = k // 2
else:
s = 10**10
k += N - 1
u += N
while k < u:
# print("Values", k, u)
if k % 2 == 1:
s = min(s, minimums[k])
k += 1
if u % 2 == 0:
u -= 1
s = min(s, minimums[u])
k = k // 2
u = u // 2
output.append(str(s))
print("\n".join(output))Test details
Test 1
Verdict: WRONG ANSWER
| input |
|---|
| 8 80 7 6 4 6 2 9 4 8 2 1 1 2 1 2 2 1 3 ... |
| correct output |
|---|
| 7 6 4 4 2 ... |
| user output |
|---|
| 8 10000000000 6 10000000000 6 ... Truncated |
Test 2
Verdict: RUNTIME ERROR
| input |
|---|
| 200000 200000 398739055 65343131 699208332 3... |
| correct output |
|---|
| 28609 129890 20378 20378 311522 ... |
| user output |
|---|
| 262144 |
Error:
Traceback (most recent call last):
File "input/code.py", line 14, in <module>
BuildS...