一看到题目,本蒟蒻第一反应是:
于是编写了如下代码:
#include <iostream>
#include<algorithm>
using namespace std;
int main() {
int n,k;
cin >> n >> k;
long long *a=new long long[n];
for (int i = 0; i < n; i++) {
cin >> a[i];
}
sort(a, a + n);
cout << a[k];
return 0;
}
快排都能超时???
#%@&()#%)()*%¥!#%……##¥$%@&*我屮艸芔茻凸(艹皿艹 )
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
int n,k;
int main() {
cin >> n >> k;
long long* a = new long long[n + 10];
long long* b = new long long[n+10];
memset(a, 0, sizeof(a));
memset(b, 0, sizeof(b));
for (int i = 1; i <=n; i++) {
cin >> a[i];
b[a[i]] = a[i];
}
int sum = 0;
unique(b, b + n);
for (int i = 1; i <=n; i++) {
if (b[i] != 0 && k>=0) {
k--;
sum++;
}
}
cout << sum;
return 0;
}
结果是:
五个测试点两个WA三个RE