View Code of Problem 134

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

Double click to view unformatted code.


Back to problem 134