View Code of Problem 134

#include<stdio.h>
typedef struct{
	int index;
	int val;
}data;
int cmp(const void *a,const void *b){
	return (*(data *)a).val - (*(data *)b).val;
}
int main(){
	int n;
	while(scanf("%d",&n)!=EOF){
		data a[n];
		int i;
		for(i = 0;i < n; i++){
			scanf("%d",&a[i].val);
			a[i].index = i+1;
		}
		qsort(a,n,sizeof(data),cmp);
		int q;
		scanf("%d",&q);
		while(q--){
			int l,r;
			scanf("%d %d",&l,&r);
			i = 0;
			while(!(a[i].index>=l&&a[i].index<=r)){
				i++;
			}
			printf("%d\n",a[i].val);
		}
	}
} 

Double click to view unformatted code.


Back to problem 134