sdnu1096一问一答

来源:互联网 发布:孙翊 知乎 编辑:程序博客网 时间:2024/04/30 00:49

1096.一问一答
Time Limit: 1000 MS    Memory Limit: 32768 KB
Total Submission(s): 174    Accepted Submission(s): 106
Description
现在输入一个序列,这个序列中有N个数字,输入时他们是无序的,而后他们会被写到数据库当中,在数据库当中他们将被按照从小到大的顺序排好。当有人在外部向数据库输入一个数字n时,数据库会返回当中的第n小的数。
现在由你来编写程序模拟这一过程。
Input
包括两部分,第一部分为输入部分,第一行一个正整数N,代表数据库中共存有N个数,接下来N行,每行一个正整数,代表依次向数据库中存储的数字。下面是询问部分,询问部分第一行一个正整数K,接下来K行每行一个正整数ki,代表要询问第ki小的数。(1<=K,N<=5000),每个插入的数字不超过10,000。
Output
对于每个询问输出一行,代表第ki小的数。
Sample Input
5
7
121
123
7
121
4
3
4
2
5
Sample Output
121
121
7
123
Source
HRBEU

#include<cstdio>#include<iostream>#include<algorithm>#define N 5001using namespace std;int main(){    int x,i,j[N],k[N],y;    scanf("%d",&x);    for(i=0;i<x;i++)    {        scanf("%d",&j[i]);    }    sort(j,j+x);    scanf("%d",&y);    for(i=0;i<y;i++)    {        scanf("%d",&k[i]);    }    for(i=0;i<y;i++)    {        printf("%d\n",j[k[i]-1]);    }    return 0;}