Strict Evaluation
View as PDFYou have an array of  
 elements, indexed from 
 to 
. There are 
 
 operations you need to perform on it.
Each operation is one of the following:
1 l r vIncrement each value in the rangeby
.
2 l r vMake each value in the rangeequal to
(i.e. for each element
, such that
, set
).
3 l rOutput the minimum value in the range.
In operations 1 and 2,  is guaranteed to be an integer in the range 
. Every value in the starting array is also guaranteed to be in this range.
Input Specification
The first line has  and 
.
The second line has  integers, the original array.
The next  lines each contain an operation in the format described above.
Output Specification
For each operation of type 3, output the answer on its own line.
Sample Input
5 3
1 2 3 4 5
3 2 4
2 2 4 10
3 2 5
Sample Output
2
5
Comments
Can someone take a look at my code and see whats wrong? I got 100 testcases AC and 101st testcase WA. I am very sad rn.
https://dmoj.ca/src/4277500
Edit: nvm I passed by putting #define int long long
If you are using c++, defining your push_down function as inline may provide a speed boost.
https://cses.fi/problemset/task/1735
This comment is hidden due to too much negative feedback. Show it anyway.
Can this be called
Segment Tree Test 2?the problem setter is likely too lazy to rename the problem...
I pretty much created it with the intent of just that, because I couldn't find a template problem that had both range increment and range assignment together to test things on lolol.