View Code of Problem 134

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#include<math.h>

typedef struct{
	int pos;
	int num;
}Num;
Num queue[100010];
int cmp(const void *a,const void *b){
	return (*(Num*)a).num-(*(Num*)b).num;
}
int main(){
	int q,l,r;
	int n,m;
	while(scanf("%d",&n)!=EOF){
		for(int i=0;i<n;i++){
			scanf("%d",&queue[i].num);
			queue[i].pos=i;
		}
		qsort(queue,n,sizeof(Num),cmp);
		scanf("%d",&q);
		while(q--){
			scanf("%d %d",&l,&r);
			int i=0;
			while(queue[i].pos<l-1||queue[i].pos>r-1){
				i++;
			}
			printf("%d\n",queue[i].num);
		}
	}
}



	

Double click to view unformatted code.


Back to problem 134