Bài toán. Tìm giá trị lớn thứ k của dãy số. Nhập vào số lượng phần tử n và vị trí lớn thứ k (1 dòng), dòng thứ 2 là dãy số. Yêu cầu: Ghi ra vị trí lớn thứ k trong dãy số. Ví dụ:
MINK.INP |
MINK.OUT |
6 3 27 13 24 19 17 20 |
20 |
Code tham khảo:
#include <iostream>
#include <algorithm>
using namespace std;
int main () {
freopen("MINK.INP","r",stdin);
freopen("MINK.OUT","w",stdout);
int n, k, a[1000], b[1000];
cin >> n >> k;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
b[i] = a[i];
}
sort(b, b+n, greater<int>());
if (b[k-1] == b[0]) cout << -1;
else cout << b[k-1];
return 0;
}