n, k = map(int, input().split())
a = list(map(int,input().split()))
a.sort()
x = 0
if k > n:
print(-1)
else:
x = a[n-k]
print(x,0)
/*
* Handle: ZaphkielX
* Date: 15-03-2023
*/
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
using vi = vector<int>;
#define pb push_back
#define all(x) begin(x), end(x)
#define sz(x) (int) (x).size()
using pi = pair<int,int>;
#define f first
#define s second
#define mp make_pair
int main() {
cin.tie(0)->sync_with_stdio(0);
int n, k;
cin >> n >> k;
if (k > n) {
cout << "-1";
}
else if (k == n) {
cout << "0 0";
}
else {
ll arr[n];
for (int i = 0; i < n; i++) {
cin >> arr[i];
}
sort(arr, arr+n);
for (int i = 0; i < n; i++) {
if (i == k) {
cout << arr[n - i] << " " << arr[n - i];
break;
}
}
}
return 0;
}
435. Non-overlapping Intervals | 406. Queue Reconstruction by Height |
380. Insert Delete GetRandom O(1) | 332. Reconstruct Itinerary |
368. Largest Divisible Subset | 377. Combination Sum IV |
322. Coin Change | 307. Range Sum Query - Mutable |
287. Find the Duplicate Number | 279. Perfect Squares |
275. H-Index II | 274. H-Index |
260. Single Number III | 240. Search a 2D Matrix II |
238. Product of Array Except Self | 229. Majority Element II |
222. Count Complete Tree Nodes | 215. Kth Largest Element in an Array |
198. House Robber | 153. Find Minimum in Rotated Sorted Array |
150. Evaluate Reverse Polish Notation | 144. Binary Tree Preorder Traversal |
137. Single Number II | 130. Surrounded Regions |
129. Sum Root to Leaf Numbers | 120. Triangle |
102. Binary Tree Level Order Traversal | 96. Unique Binary Search Trees |
75. Sort Colors | 74. Search a 2D Matrix |