| Task: | Dynamic Range Minimum Queries |
| Sender: | luukwin |
| Submission time: | 2025-09-22 15:07:46 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | RUNTIME ERROR | 0.07 s | details |
| #2 | RUNTIME ERROR | 0.18 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)
minimums.extend([10**10] for _ in range(N - n))
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(1, n + 1):
# for j in range(i, n + 1):
# print(i, j)
# k = i + N
# u = j + N
# s = min(minimums[k], minimums[u])
# u //= 2
# k //= 2
# while k < u:
# if k % 2 == 1:
# s = min(s, minimums[k])
# k += 1
# if u % 2 == 0:
# s = min(s, minimums[u])
# u -= 1
# k = k // 2
# u = u // 2
# print(s)
for i in range(q):
action, k, u = [int(x) for x in input().split()]
if action == 1:
k += N - 1
minimums[k+N] = u
while k > 0:
minimums[k] = min(minimums[k*2], minimums[k*2+1])
k = k // 2
else:
k += N - 1
u += N - 1
s = min(minimums[k], minimums[u])
while k < u:
if k % 2 == 0:
s = min(s, minimums[k])
k += 1
if u % 2 == 1:
s = min(s, minimums[u])
u -= 1
k = k // 2
u = u // 2
output.append(str(s))
# print("\n".join(output))Test details
Test 1
Verdict: RUNTIME ERROR
| 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 |
Error:
Traceback (most recent call last):
File "input/code.py", line 42, in <module>
minimu...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 15, in <module>
BuildS...