A71688 | 区间最小值
来源编程题
时间限制1s
内存限制512MB
通过 / 提交0/0
题目描述
给定 n 个整数,从 1 到 n 顺序编号,接下来进行 m 次查询,第 i 次查询第 a_i 个数到第 b_i 个数(包含 a_i 和 b_i )之间的最小值并输出。
例如:n = 8, 8个正整数依次为:40 ,20 ,10 ,30 ,70 ,50 ,80 ,60;
m = 3,
3 次查询分别为:
a_1 = 3, b_1 = 7
a_2 = 1, b_2 = 2
a_3 = 5, b_3 = 8
- 第一次查询:第 3 个数(10)到第 7 个数(80)之间最小值是 10;
- 第二次查询:第 1个数(40)到第 2 个数( 20 )之间最小值是 20;
- 第三次查询:第 5 个数(70)到第 8 个数( 60)之间最小值是 50;
故输出
10
20
50
输入格式
第一行输入两个整数 n 和 m (1 \le n,m \le 10^5),分别表示整数的数量及查询次数;
第二行输入 n 个整数( 0 \le 整数 \le 10^5);
接下来 m 行,每行输入 2 个整数 a_i 和 b_i(1 \le a_i \le b_i \le n),分别表示查询的起始位置和终止位置。
输出格式
输出共 m 行,每行输出一个整数,分别表示每次查询得到的第 a_i 个数到第 b_i 个数之间(包含 a_i 和 b_i )的最小值。
输入输出样例
输入 #1
8 3 40 20 10 30 70 50 80 60 3 7 1 2 5 8
输出 #1
10 20 50
暂无题解
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?