Cod sursa(job #2645438)

Utilizator IRadu1529Radu Ionescu IRadu1529 Data 28 august 2020 12:06:27
Problema Statistici de ordine Scor 40
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.85 kb
#include <iostream>
#include <fstream>
#include <queue>

using namespace std;

ifstream fin("sdo.in");
ofstream fout("sdo.out");

int main()
{
	int n, k, el;

	fin >> n >> k;

	if (k > n / 2)
	{
		priority_queue<int> c;

		for (int i = 0; i < n; i++)
		{
			fin >> el;

			c.push(el);
		}

		int i = 1;

		while (!c.empty())
		{
			if (i == n - k)
			{
				fout << c.top();

				fin.close();

				fout.close();

				return 0;
			}

			i++;

			c.pop();
		}
	}

	else
	{
		priority_queue <int, vector<int>, greater<int>> coada;

		for (int i = 0; i < n; i++)
		{
			fin >> el;

			coada.push(el);
		}

		int i = 1;

		while (!coada.empty())
		{
			if (i == k)
			{
				fout << coada.top();

				fin.close();

				fout.close();

				return 0;
			}

			i++;

			coada.pop();
		}
	}

	return 0;
}