九度Online Judge

OJ新增积分机制,如有任何问题或者建议,请发帖到九度论坛OJ意见反馈版,祝大家一切顺利!
亲,九度OJ官方微博开通了,欢迎你来粉!微博地址:weibo.com/jobdu

 题目1407-九度Online Judge,用代码记录你的成长之路!

题目1407:快速找出最小数

时间限制:1 秒

内存限制:32 兆

特殊判题:

提交:681

解决:82

题目描述:

给定一个大小为N 的整数数组array,我们定义两种操作:

1)       Add(L, R, W)。即将子数组[L, R]中的元素,都累加一个整数W。

2)       Min(L, R)。即返回子数组[L, R]之中,最小的一个元素的值。

其中L和R为数组的下标,且从0开始计数。当数组下标L > R时,我们认为这个子数组的元素包含array[L], array[L+1], … array[N – 1], array[0], array[1], … array[R]。

输入:

每个测试文件包含多个测试案例。

每个测试案例的第一行为整数N, 其中1 <= N <= 100000, 表示数组array的元素个数。

第二行将会输入N个数组元素a1, a2,… an,且-10^6 <= ai <= 10^6。

第三行将输入整数M,其中 100000 <= M <= 100000,代表接下来将会输入的操作数

余下的M行将会是具体的对数组的操作指令:若一行中含有3个整数参数,则该操作为Add操作,需要对array的元素进行更新操作,三个参数依次代表L, R以及W;若一行中只有两个参数,则该操作为Min操作,你需要返回当前子数组[L, R]之中最小的元素大小。对于所有的操作指令, 都满足0 <= L, R <= N – 1, -10^6 <= W <= 10^6。

输出:

对于每个测试案例中的所有Min操作,都返回其指定的操作值。

样例输入:
3
1 2 4
3
0 2
0 0 1
0 2
样例输出:
1
2