Description
Vasya has found a piece of paper with a coordinate system written on it. There are n distinct squares drawn in this coordinate system. Let's number the squares with integers from 1 to n. It turned out that points with coordinates (0, 0) and (ai, ai) are the opposite corners of the i-th square.
Vasya wants to find such integer point (with integer coordinates) of the plane, that belongs to exactly k drawn squares. We'll say that a point belongs to a square, if the point is located either inside the square, or on its boundary.
Help Vasya find a point that would meet the described limits.
Input
The first line contains two space-separated integers n, k(1 ≤ n, k ≤ 50). The second line contains space-separated integersa1, a2, ..., an(1 ≤ ai ≤ 109).
It is guaranteed that all given squares are distinct.
Output
In a single line print two space-separated integers x and y(0 ≤ x, y ≤ 109) — the coordinates of the point that belongs to exactly ksquares. If there are multiple answers, you are allowed to print any of them.
If there is no answer, print "-1" (without the quotes).
Sample Input
4 3 5 1 3 4
2 1
3 1 2 4 1
4 0
4 50 5 1 10 2
-1
题目的意思就是找一个坐标点,恰好在k个squares里面。
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstdlib>
#include<iomanip>
#include<algorithm>
#include<cctype>
#include<stack>
#include<queue>
#include<string>
#include<cstring>
#include<iomanip>
#include<set>
#include<vector>
using namespace std;
const int MAX=51;
int arr[MAX];
bool comp(int x,int y)
{
return x>y;
}
int main()
{
memset(arr,0,sizeof(arr));
int n,k;
cin>>n>>k;
for(int i=0;i<n;i++)
{
cin>>arr[i];
}
int flag=1;
sort(arr,arr+n,comp);
int i;
if(k>n)
{
printf("-1\n");
return 0;
}
else
{
printf("%d 0\n",arr[k-1]);
return 0;
}
}