1. 程式人生 > >EOJ(排序)——2572. Sort it…

EOJ(排序)——2572. Sort it…

2572. Sort it…

There is a database,partychen want you to sort the database’s data in the order from the least up to the greatest element,then do the query: “Which element is i-th by its value?”- with i being a natural number in a range from 1 to N.
It should be able to process quickly queries like this.

輸入

The standard input of the problem consists of two parts. At first, a database is written, and then there’s a sequence of queries. The format of database is very simple: in the first line there’s a number N(1⩽N⩽100000), in the next N lines there are numbers of the database one in each line in an arbitrary order. A sequence of queries is written simply as well: in the first line of the sequence a number of queries K(1⩽K⩽100) is written, and in the next K lines there are queries one in each line. The query “Which element is i-th by its value?” is coded by the number i.

輸出

The output should consist of K lines. In each line there should be an answer to the corresponding query. The answer to the query “i” is an element from the database, which is i-th by its value (in the order from the least up to the greatest element).
樣例

input

5
7
121
123
7
121
3
3
2
5

output

121
7
123

題目大意:

排序+查詢。

題目解析:

sort函式排序。

具體程式碼:

#include<iostream>
#include<algorithm>
using namespace std;
int A[100010];
int main()
{
    int n;
    cin>>n;
    for(int i=0;i<n;i++)
    	cin>>A[i];
    sort(A,A+n);
    int k;
    cin>>k;
    while(k--){
    	int q;
    	cin>>q;
    	cout<<A[q-1]<<endl;
	}
    return 0;
}