本文共 769 字,大约阅读时间需要 2 分钟。
第X大的数
Time Limit: 1000 ms Memory Limit: 65536 KiBProblem Description
X最近爱上了区间查询问题,给出N (N <= 100000) 个数,然后进行M (M <= 50) 次询问,每次询问时,输入一个数X (1 <= X <= N),输出N个数中第X大的数。Input
多组输入。每组首先输入一个整数N,代表有N个数,下面一行包含N个整数,用空格隔开。然后为一个整数M,代表有M次询问,下面的M行,每行一个整数X。
Output
输出N个数中第X大的数。Sample Input
4 1 2 2 3 4 1 2 3 4 Sample Output 3 2 2 1代码如下:
#include#include void qusort(int *a,int lt,int rt){ if(lt>=rt)return ; int i=lt,j=rt,key=a[lt]; while(i =key) { j--; } a[i]=a[j]; while(i <=key) { i++; } a[j]=a[i]; } a[i]=key; qusort(a,lt,i-1); qusort(a,i+1,rt);}int main(){ int n,i,m,x; while(~scanf("%d",&n)) { int a[100001]; for(i=0; i
转载地址:http://lzhwi.baihongyu.com/