Submission details
Task:Dynamic Range Minimum Queries
Sender:aalto26dh_019
Submission time:2026-09-22 07:31:35 +0300
Language:C++ (C++20)
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.10 sdetails

Code

#include <iostream>
#include <vector>
#include <climits>
using std::cout;
using std::endl;
#define DEBUG std::cout<<"LINE"<<__LINE__;
#define IN(A) int A;std::cin>>A;
#define BUG(A,B) std::cout<<A<<B<<std::endl;

template<typename T> T printV(std::vector<T> V) {
    for (int i=0;i<V.size-1;i++) {
        std::cout<<V[i]<<" ";
    }
    std::cout<<V[V.size-1];
    std::cout<<endl;
}
int64_t max3(int64_t a,int64_t b,int64_t c) {
    return std::max(a,std::max(b,c));
}
struct compute {
    std::vector<int> data;
    std::vector<std::pair<int,int>> result;
    bool start() {
        IN(n);
        IN(q)
        int k;
        for (k=1;k<n;k=k*2);
        k=k*2;

        data.assign(k,INT_MAX);

        for (int i=0;i<n;i++) {
            std::cin>>data[i+k/2];
        }
        for (int i=k/2+n-1;i>0;i--) {
            data[i/2]=std::min(data[i],data[i/2]);
        }

        for (int i=0;i<q;i++) {
            IN(u)
            IN(a);
            IN(b);
            a=a+k/2-1;
            b=b+k/2-1;
            if (u==2) {
                int v=INT_MAX;
                while (a<=b) {
                    if (a%2==1) v=std::min(v,data[a++]);
                    if (b%2==0) v=std::min(v,data[b--]);
                    a=a/2;
                    b=b/2;
                }
                cout<<v<<endl;
            }
            if (u==1) {
                data[a]=b;
                while (a>0) {
                    a=a/2;
                    data[a]=std::min(data[data[a*2+1]],data[a*2]);
                }
            }
        }

        return true;
    }


    void readV(int n) {
        for (int i=0;i<n;i++) std::cin>>data[i];

    }
};

int main() {
    compute comp;
    comp.start();


}

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
7
6
4
4
2
...

Feedback: Incorrect character on line 37 col 2: expected "10", got "17"

Test 2

Verdict:

input
200000 200000
398739055 65343131 699208332 3...

correct output
28609
129890
20378
20378
311522
...

user output
(empty)