| Task: | Dynamic Range Minimum Queries |
| Sender: | aalto26dh_004 |
| Submission time: | 2026-09-22 21:24:20 +0300 |
| Language: | C++ (C++20) |
| Status: | READY |
| Result: | WRONG ANSWER |
| test | verdict | time | |
|---|---|---|---|
| #1 | WRONG ANSWER | 0.00 s | details |
| #2 | WRONG ANSWER | 0.49 s | details |
Code
#include "iostream"
#include "cmath"
#include "climits"
#include "algorithm"
int main() {
int n, q;
std::cin >> n >> q;
int m = std::sqrt(n);
int array[n], mins[m + 1];
for (int i = 0; i < m; i++) {
for (int j = 0; j < m; j++) {
std::cin >> array[i * m + j];
}
mins[i] = *std::min_element(array + i * m, array + (i + 1) * m);
}
int rest = n - m * m;
for (int i = 0; i < rest; i++) {
std::cin >> array[m * m + i];
}
if (rest) mins[m] = *std::min_element(array + m * m, array + n);
int queries[3];
for (int i = 0; i < q; i++) {
std::cin >> queries[0] >> queries[1] >> queries[2];
int idx = (queries[1] - 1) / m;
if (queries[0] == 1) {
array[queries[1] - 1] = queries[2];
mins[idx] = *std::min_element(array + idx * m, array + (idx + 1) * m);
} else {
std::cout << mins[idx] << std::endl;
}
}
}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 |
|---|
| 6 6 6 6 6 ... |
Feedback: Incorrect character on line 1 col 1: expected "7", got "6"
Test 2
Verdict: WRONG ANSWER
| input |
|---|
| 200000 200000 398739055 65343131 699208332 3... |
| correct output |
|---|
| 28609 129890 20378 20378 311522 ... |
| user output |
|---|
| 1488049 9302335 40862 553643 2996851 ... |
Feedback: Incorrect character on line 1 col 1: expected "28609", got "1488049"
