| Task: | Dynamic Range Minimum Queries |
| Sender: | aalto26dh_027 |
| Submission time: | 2026-09-16 19:38:45 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | details |
| #2 | WRONG ANSWER | 0.43 s | details |
Code
#include <iostream>
#include <vector>
#include <climits>
using namespace std;
void buildTree(vector<int>& tree, vector<int>& arr, int node, int l, int r){
if (l==r){
tree[node]=arr[l];
return;
}
int mid=(l+r)/2;
buildTree(tree, arr, node*2, l, mid);
buildTree(tree, arr, node*2+1, mid+1, r);
tree[node]=min(tree[node*2], tree[node*2+1]);
}
void update(vector<int>& tree, int pos, int val, int node, int l, int r){
if (l==r){
tree[node]=val;
return;
}
int mid=(l+r)/2;
if (pos<=mid){
update(tree, pos, val, node*2, l, mid);
} else {
update(tree, pos, val, node*2+1, mid+1, r);
}
tree[node]=min(tree[2*node], tree[2*node+1]);
}
int query(vector<int>& tree, int ql, int qr, int node, int l, int r){
if (qr<l || ql>r){
return INT_MAX;
}
if (ql<=l && qr>=r){
return tree[node];
}
int mid=(l+r)/2;
return min(query(tree, ql, qr, node*2, l, mid), query(tree, ql, qr, node*2+1, mid+1, r));
}
int main(){
int n, q;
cin >> n >> q;
vector<int> arr(n+1);
for (int i=0;i<n;i++){
cin >> arr[i+1];
}
vector<vector<int>> queries(q, vector<int>(3));
for (int i=0;i<q;i++){
cin >> queries[i][0] >> queries[i][1] >> queries[i][2];
}
vector<int> segTree(4*n);
buildTree(segTree, arr, 1, 1, n);
for (auto &q: queries){
if (q[0]==1){
update(segTree, q[1], q[2], 1, 1, n-1);
} else if (q[0]==2){
cout << query(segTree, q[1], q[2], 1, 1, n-1) << '\n';
}
}
return 0;
}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 |
|---|
| 7 6 4 4 2 ... |
Feedback: Incorrect character on line 36 col 1: expected "8", got "2147483647"
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 200000 200000 398739055 65343131 699208332 3... |
| correct output |
|---|
| 28609 129890 20378 20378 311522 ... |
| user output |
|---|
| 28609 129890 20378 20378 311522 ... |
Feedback: Incorrect character on line 1896 col 2: expected "126568947", got "182015680"
