Lzm217693 @ 2024-02-25 22:09:28
using namespace std; long long number[5000005]; int sequence[5000005]; int main(){ int n,k,x=0; cin>>n>>k; for(int a=0;a<n;a++){ cin>>number[a]; } sort(number,number+n); //依次排序数组的下标 sequence下标对应number的目标数下标 for(int a=1;a<n;a++){ if(number[a]>number[a-1]){ sequence[x++]=a-1; } } sequence[x]=n-1; int c=sequence[k]; cout<<number[c];
return 0;
}
by jr_linys @ 2024-02-25 22:17:05
首先超时是因为输入太慢了。
ios::sync_with_stdio(0);
用这个关闭同步流,但是就只能用 cin
和 cout
了。
by jr_linys @ 2024-02-25 22:18:22
然后也不用搞去重什么的瞎操作...
#include <iostream>
#include <algorithm>
using namespace std;
long long number[5000005];
int main() {
ios::sync_with_stdio(0);
int n, k;
cin >> n >> k;
for (int a = 0; a < n; a++) cin >> number[a];
sort(number, number + n); //依次排序数组的下标 sequence下标对应number的目标数下标
cout << number[k];
}
by Lzm217693 @ 2024-02-26 15:17:21
@jr_linys 谢谢大佬的指点