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

Compiler report

input/code.cpp: In member function 'int compute::findleft(int, int, int)':
input/code.cpp:70:13: warning: unused variable 'v' [-Wunused-variable]
   70 |         int v=data[t];
      |             ^
input/code.cpp:74:5: warning: no return statement in function returning non-void [-Wreturn-type]
   74 |     }
      |     ^

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[a*2],data[a*2]+1);
                }
            }
        }

        return true;
    }


    int findleft(int t,int a,int b){
        int v=data[t];



    }

    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
38493
129890
40862
26244
311522
...

Feedback: Incorrect character on line 1 col 1: expected "28609", got "38493"