[21413][伯俊/BOJ]11004号K個数


質問する



にゅうしゅつりょく



に答える


STL sortを使用して問題を解決することもできますが、nth elementを使用して問題を解決することもできます.
配列は常にゼロから始まり,kではなくk−1に近づくことに注意するだけで簡単に解決できる.

コード#コード#

#include <bits/stdc++.h>
using namespace std;

int main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);

	int n, k, num;
	vector<int> V;
	cin >> n >> k;
	
	while(n--)
	{
		cin >> num;
		V.push_back(num);
	}
	
	nth_element(V.begin(), V.begin() + k - 1, V.end());

	cout << V[k - 1];
}