URAL_1026

    排个序即可。

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
#define MAXD 100010
int N, K, a[MAXD];
char b[MAXD];
int cmp(const void *_p, const void *_q)
{
    int *p = (int *)_p, *q = (int *)_q;
    return *p < *q ? -1 : 1;
}
void init()
{
    int i;
    for(i = 1; i <= N; i ++)
        scanf("%d", &a[i]);
    qsort(a + 1, N, sizeof(a[0]), cmp);
}
void solve()
{
    int i, k;
    scanf("%s", b);
    scanf("%d", &K);
    for(i = 0; i < K; i ++)
    {
        scanf("%d", &k);
        printf("%d\n", a[k]);
    }
}
int main()
{
    while(scanf("%d", &N) == 1)
    {
        init();
        solve();
    }
    return 0;
}
posted on 2012-05-02 17:40  Staginner  阅读(152)  评论(0编辑  收藏  举报