本文主要是介绍2150: 最小值(sort新理解),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
2150: 最小值
时间限制: 1 Sec 内存限制: 64 MB
提交: 3 解决: 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小的数,单独一行。 详细格式请参考样例。
样例输入
<span style="color:#333333"><span style="color:black">1
7 4
3 1 -4 2 8 -1000 2
1 2 6 6</span></span>
样例输出
<span style="color:#333333"><span style="color:black">3
3
1
2</span></span>
提示
#include<stdio.h>
#include<iostream>
#include<algorithm>
#include<string.h>
using namespace std;
int sum[30010];
int cmp(int a,int b){return a<b;
}
int main()
{int t;scanf("%d",&t);while(t--){int n,m;scanf("%d%d",&n,&m);for(int i=0;i<n;i++){scanf("%d",&sum[i]);}int s=0;while(m--){int h; scanf("%d",&h);sort(sum,sum+h,cmp);/* for(int i=0;i<=s;i++){cout<<sum[i]<<endl;}*///cout<<s<<endl;printf("%d\n",sum[s]);s++;}}return 0;}
这篇关于2150: 最小值(sort新理解)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!