View Code of Problem 134

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

Double click to view unformatted code.


Back to problem 134