Gorgeous Sequence
Time Limit: 6000/3000 MS (Java/Others) Memory Limit: 131072/131072 K (Java/Others) Total Submission(s): 440 Accepted Submission(s): 87 Problem Description
There is a sequence a of length n. We use ai to denote the i-th element in this sequence. You should do the following three types of operations to this sequence. 0 x y t: For every x≤i≤y, we use min(ai,t) to replace the original ai's value. 1 x y: Print the maximum value of ai that x≤i≤y. 2 x y: Print the sum of ai that x≤i≤y.
Input
The first line of the input is a single integer T, indicating the number of testcases. The first line contains two integers n and m denoting the length of the sequence and the number of operations. The second line contains n separated integers a1,…,an ( ∀1≤i≤n,0≤ai<231). Each of the following m lines represents one operation ( 1≤x≤y≤n,0≤t<231). It is guaranteed that T=100, ∑n≤1000000, ∑m≤1000000.
Output
For every operation of type 1 or 2, print one line containing the answer to the corresponding query.
Sample Input
1 5 5 1 2 3 4 5 1 1 5 2 1 5 0 3 5 3 1 1 5 2 1 5
Sample Output
5 15 3 12
Hint
Please use efficient IO method Source
/* ***********************************************Author :CKbossCreated Time :2015年07月27日 星期一 08时13分39秒File Name :HDOJ5306.cpp************************************************ */#include#include #include #include #include #include #include #include #include #include #include
posted on 2017-06-12 21:57 阅读( ...) 评论( ...)