| Task: | Dynamic Range Minimum Queries |
| Sender: | luukwin |
| Submission time: | 2025-09-21 17:37:04 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | RUNTIME ERROR | 0.06 s | details |
| #2 | TIME LIMIT EXCEEDED | -- | details |
Code
import math
n, q = [int(x) for x in input().split()]
array = [int(x) for x in input().split()]
def calculateMins():
minimums = {}
for i in range(n):
for j in range(i, n):
if i != j and math.log2(j-i + 1) % 1 == 0:
minimums.update({str((i+1, j+1)) : min(array[i:j+1])})
# print(minimums)
return minimums
minimums = calculateMins()
for i in range(q):
action, k, u = [int(x) for x in input().split()]
if action == 1:
array[k - 1] = u
minimums = calculateMins()
else:
minPower = 2 ** int(math.log2(u))
print(min(minimums[str((k, k + minPower - 1))], minimums[str((u - minPower + 1, u))]))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 |
|---|
| (empty) |
Error:
Traceback (most recent call last):
File "input/code.py", line 24, in <module>
print(...Test 2
Verdict: TIME LIMIT EXCEEDED
| input |
|---|
| 200000 200000 398739055 65343131 699208332 3... |
| correct output |
|---|
| 28609 129890 20378 20378 311522 ... |
| user output |
|---|
| (empty) |
