最小值

来源:互联网 发布:语玩刷金币软件下载 编辑:程序博客网 时间:2024/06/07 10:18

/*最小值
时间限制:1000 ms | 内存限制:65535 KB
难度:3
描述
输入N个数,M次查询。
每次查询给出一个数x。
要求:每次查询输出前x个数中第i小的数。(i为第i次查询)
你可以假设M <= N,Xi <= Xi+1 <= Xi+2 <= ……. <= Xm (Xm <= N).
输入
Line0:T
Line1: N,M
Line2…LineN+1:num1,……,numN
LineN+2…LineN+2+M:x1,……,xM
N < 30000, num < 2000000000
输出
每次查询输出前i小的数,单独一行。
详细格式请参考样例。
样例输入
1
7 4
3 1 -4 2 8 -1000 2
1 2 6 6
样例输出
3
3
1
2*/

#include<stdio.h>#include<string.h>#include<algorithm>using namespace std;int cmp(int x,int y){    return x<y;}int main(){    int t;    scanf("%d",&t);    while(t--)    {        int n,m;        int i;         int a[30010],s[30010];        scanf("%d%d",&n,&m);        for(i=0;i<n;i++)             scanf("%d",&a[i]);        for(i=0;i<m;i++)        {            scanf("%d",&s[i]);        }        for(i=1;i<=m;i++)        {            sort(a,a+s[i-1],cmp);            printf("%d\n",a[i-1]);        }    }    return 0;}
1 0
原创粉丝点击