Cod sursa(job #1008443)
Utilizator | Data | 10 octombrie 2013 23:26:04 | |
---|---|---|---|
Problema | Statistici de ordine | Scor | 30 |
Compilator | cpp | Status | done |
Runda | Arhiva educationala | Marime | 1.01 kb |
#include <iostream>
#include <fstream>
using namespace std;
int main()
{
ifstream IN("sdo.in");
ofstream OUT("sdo.out");
int n,k,k2=0;
IN>>n>>k;
int *p = new int[n];
for (int i = 0;i<n;i++)
IN>>*(p+i);
int min,pos_interchange;
while (n > 0)
{
min = *p;
pos_interchange = 0;
for (int i = 0; i < n; i++)
{
int nr = p[i];
if (nr < min)
{
min = nr;
pos_interchange = i;
}
}
k2++;
if (k2 == k)
{
OUT<<min;
break;
}
//if (max != *p)
p[pos_interchange] = p[n - 1];
p[n - 1] = min;
n--;
}
IN.close();
OUT.close();
return 0;
}