View Code of Problem 134

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

typedef struct
{
    int data;
    int order;
}Num;
Num number[100000];
int compare(const void*a,const void* b)
{
    Num *pa=(Num *)a;
    Num *pb=(Num *)b;
    int num1=pa->data;
    int num2=pb->data;
    return num1-num2;
}

int main()
{
    int n,i,q,l,r;
    while(scanf("%d",&n)!=EOF)
    {
    for(i=0;i<n;i++)
    {
        scanf("%d",&number[i].data);
        number[i].order=i+1;

    }
    scanf("%d",&q);
    qsort(number,n,sizeof(Num),compare);//
    while(q--)
    {
        scanf("%d%d",&l,&r);
        for(i=0;i<n;i++)
        {
            if(number[i].order>=l&&number[i].order<=r)
            {
                printf("%d\n",number[i].data);
                break;
            }
        }
    }

    }

    return 0;
}

Double click to view unformatted code.


Back to problem 134