Cod sursa(job #2605003)
Utilizator | Data | 24 aprilie 2020 11:13:26 | |
---|---|---|---|
Problema | Statistici de ordine | Scor | 60 |
Compilator | cpp-64 | Status | done |
Runda | Arhiva educationala | Marime | 0.7 kb |
#include <bits/stdc++.h>
using namespace std;
ifstream f("sdo.in");
ofstream g("sdo.out");
unsigned v[3000002];
long long quick(int st, int dr)
{
int i = st, j = dr, mid = v[(st + dr) / 2];
do
{
while(mid > v[i])
i++;
while(mid < v[j])
j--;
if(i <= j)
{
swap(v[i], v[j]);
i++;
j--;
}
}while(i <= j);
if(st < j)
quick(st, j);
if(dr > i)
quick(i, dr);
}
int main()
{
int n, m;
f >> n >> m;
for(int i = 1; i <= n; i++)
{
f >> v[i];
}
quick(1, n);
g << v[m];
return 0;
}