View Code of Problem 134

#include<bits/stdc++>
using namespace std;
//这道题表述极其含糊不清。区间[l,r]其实是指下标[l,r]
//题目求得是 序列的下标l对应的值到下标r对应的值,这个区间内,最小的元素。 

typedef struct Node{
	int index;  //下标 
	int data;   //元素的值 
} infor;
 
int main() {
	int n,q,l,r;
	while(scanf("%d",&n) != EOF) {
		infor arr[n];
		for(int i=0; i<n; i++) {
			scanf("%d", &arr[i].data);
			arr[i].index = i+1; //因为下标从1开始 
		}
		
		sort(arr, arr+n);	//对下标区间内的值 从小到大排序
		 
		scanf("%d", &q);
		while(q--) {
			scanf("%d %d", &l, &r);
			for(int i=0; i<n; i++) {
				if(arr[i].index>=l && arr[i].index<=r) { //对下标进行比较 
					printf("%d\n", arr[i].data); 
					break;
				}
			}	
		}
	}
 
}
/*
Main.cc:1:9: fatal error: bits/stdc++: No such file or directory
 #include<bits/stdc++>
         ^~~~~~~~~~~~~
compilation terminated.
*/

Double click to view unformatted code.


Back to problem 134