Pagini recente » Cod sursa (job #183247) | Cod sursa (job #1805671) | Cod sursa (job #1595445) | Cod sursa (job #175313) | Cod sursa (job #1011487)
#include <iostream>
#include <fstream>
#include <stdlib.h>
std::ifstream fin("sdo.in");
std::ofstream fout("sdo.out");
int n, p, position, maxim;///, a[3000001];
char b[3000001];
//void change(int &a, int &b)
//{
// int aux = a;
// a = b;
// b = aux;
//}
//
//void poz(int in, int sf, int &k)
//{
// int random = rand() % (sf - in + 1) + in;
//// std::cout<<in<<' '<<sf<<' '<<random<<'\n';
// change(a[random], a[sf]); ///mut pivotul la sfarsit
//
// for(int i = in; i < sf; i++)
// {
// if(a[i] <= a[sf]) ///a[sf] - pivot
// {
// change(a[i], a[in]);
// in++;
// }
// }
// change(a[in], a[sf]); ///mut pivotul la locul lui
// k = in;
//}
//
//void QSort(int in, int sf)
//{
// int k;
// if(in < sf)
// {
// poz(in, sf, k);
//// if(k > p)
// {
// QSort(k+1, sf);
// }
//// else
//// if(k < p)
// {
// QSort(in, k-1);
// }
//// else
//// {
//// position = k;
//// return;
//// }
// }
//}
void citire()
{
fin>>n>>p;
int x;
for(int i = 0; i < n; i++)
{
fin>>x;
b[x] = '1';
if(maxim < x)
{
maxim = x;
}
// fin>>a[i];
}
}
void rezolvare()
{
// QSort(0, n-1);
int nr = 0, i = 0;
// for(int i = 0; i < n; i++)
while(nr < p)
{
if(b[i] == '1')
{
// std::cout<<i<<' ';
nr++;
}
i++;
}
fout<<i-1<<'\n';
}
int main()
{
citire();
rezolvare();
return 0;
}