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;
 } 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章