View Code of Problem 134

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

typedef struct N{
    int data;
    int no;
}NUM;

int cmp(const void *a,const void *b)
{
    NUM *pa=(NUM *)a;
    NUM *pb=(NUM *)b;
    return pa->data - pb->data;
}

int main() {
	int n,q,l,r;
	while(scanf("%d",&n)!=EOF){
	    NUM num[n];
    	for(int i=0;i<n;i++){
    	    scanf("%d",&num[i].data);
    	    num[i].no=i+1;
    	}
    	qsort(num,n,sizeof(NUM),cmp);
    	scanf("%d",&q);
    	while(q--){
    	    scanf("%d %d",&l,&r);
    	    for(int i=0;i<n;i++){
    	        if(num[i].no>=l&&num[i].no<=r){
    	            printf("%d\n",num[i].data);
    	            break;
    	        }
    	    }
    	}
	}
	return 0;
}

Double click to view unformatted code.


Back to problem 134