| Task: | Dynamic Range Minimum Queries |
| Sender: | azeaus1 |
| Submission time: | 2025-09-21 20:43:03 +0300 |
| Language: | Python3 (PyPy3) |
| Status: | READY |
| Result: | RUNTIME ERROR |
| test | verdict | time | |
|---|---|---|---|
| #1 | RUNTIME ERROR | 0.07 s | details |
| #2 | RUNTIME ERROR | 0.63 s | details |
Code
import math
n, q = [int(x) for x in input().split()]
values = [int(x) for x in input().split()]
queries = []
min_queries = [[0 for _ in range(n)] for _ in range(n)]
for i in range(n):
min_queries[i][i] = values[i]
for j in range(i+1, n):
if ((j-i+1) & (j-i)) == 0:
min_queries[i][j] = min(values[i:j+1])
def compute_min_queries(x):
for i in range(n):
min_queries[i][i] = values[i]
for j in range(max(i+1,x), n):
if ((j-i+1) & (j-i)) == 0:
min_queries[i][j] = min(values[i:j+1])
for _ in range(q):
query = [int(x) for x in input().split()]
if query[0] == 1:
values[query[1]-1] = query[2]
compute_min_queries(query[1]-1)
else:
a = query[1]-1
b = query[2]-1
if a == 0 and b == 0:
min_queries[a][b] = values[0]
else:
k = int(math.log(b-a+1,2))
min_queries[a][b] = min(min_queries[a][a+k-1], min_queries[b-k+1][b])
queries.append(min_queries[a][b])
for i in range(len(queries)):
print(queries[i])
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 33, in <module>
min_qu...Test 2
Verdict: RUNTIME ERROR
| input |
|---|
| 200000 200000 398739055 65343131 699208332 3... |
| correct output |
|---|
| 28609 129890 20378 20378 311522 ... |
| user output |
|---|
| (empty) |
