Submission details
Task:Dynamic Range Minimum Queries
Sender:azeaus1
Submission time:2025-09-21 20:43:03 +0300
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#10.07 sdetails
#20.63 sdetails

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:

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:

input
200000 200000
398739055 65343131 699208332 3...

correct output
28609
129890
20378
20378
311522
...

user output
(empty)