【循环4】最大值查询问题②
题解
题面分析
给定一个整数数组 arr
,我们需要处理多个区间查询,每个查询都给定一个区间 [l, r]
,要求我们在该区间内找到最大值,并输出该最大值出现的所有下标(注意下标是从1开始的)。
思路
题目描述:
给定一个整数数组 arr,您需要处理多个查询。每个查询包含一个区间 [l,r],请您找出该区间内的最大值以及所有出现该最大值的下标序列。
输入:
- 第一行输入一个整数 n (1≤n≤100),表示数组的大小。
- 第二行输入 n 个整数 arr[i] (1≤arr[i]≤106),表示数组的元素。
- 第三行输入一个整数 q (1≤q≤100),表示查询的次数。
- 接下来 q 行,每行输入两个整数 l 和 r (1≤l≤r≤n),表示查询的区间(注意:下标从 1 开始计数)。
输出:
对于每个查询,输出两行:
- 第一行输出区间内的最大值。
- 第二行输出所有最大值的下标(使用原数组的下标,从 1 开始计数),按升序排列,使用空格分隔。
示例:
输入:
5
1 3 7 2 7
3
1 5
2 4
1 3
输出:
7
3 5
7
3
7
3
提示:
- 如果最大值在查询区间内出现多次,输出所有下标。
- 由于数组下标从 1 开始,注意转换下标。