| Task: | Dynamic Range Minimum Queries |
| Sender: | aalto26dh_014 |
| Submission time: | 2026-09-21 15:40:59 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | details |
| #2 | WRONG ANSWER | 0.09 s | details |
Code
#include <bits/stdc++.h>
using namespace std;
#define REP(i,a,b) for (int i = a; i < b; i++)
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int n;
int q;
cin>>n>>q;
vector<int> x(n);
vector<int> tree(2*n);
REP(i,0,n){
int a;
cin>>a;
x[i]=a;
tree[n+i]=a;
}
REP(i,0,n){
for (i /= 2; i >= 1; i /= 2) {
tree[i] = min(tree[2*i],tree[2*i+1]);
}
}
REP(i,0,q){
int quer;
cin>>quer;
if (quer==1){
int k;
int u;
cin>>k>>u;
tree[k] = u;
for (k /= 2; k >= 1; k /= 2) {
tree[k] = min(tree[2*k],tree[2*k+1]);
}
}
else{
int a;
int b;
cin>>a>>b;
a += n; b += n;
int m = 0;
while (a <= b) {
if (a%2 == 1) m = min(m,tree[a++]);
if (b%2 == 0) m = min(m,tree[b--]);
a /= 2; b /= 2;
}
}
}
}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 |
|---|
| (empty) |
Feedback: Output is shorter than expected
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 200000 200000 398739055 65343131 699208332 3... |
| correct output |
|---|
| 28609 129890 20378 20378 311522 ... |
| user output |
|---|
| (empty) |
Feedback: Output is shorter than expected
