Pagini recente » Cod sursa (job #1672992) | Cod sursa (job #180891) | Cod sursa (job #1887832) | Monitorul de evaluare | Cod sursa (job #1959987)
#include <bits/stdc++.h>
using namespace std;
FILE* fin;
FILE* fout;
int in_loc,out_loc;
char in_buff[4096],out_buff[4096];
void read_init(const char* nume)
{
fin=fopen(nume,"r");
in_loc=4095;
}
char read_ch()
{
in_loc++;
if(in_loc==4096)
{
in_loc=0;
fread(in_buff,1,4096,fin);
}
return in_buff[in_loc];
}
int read_u32()
{
int numar=0;
char c;
while(!isdigit(c=read_ch())&&c!='-');
int sgn=1;
if(c=='-')sgn=-1;
else numar=c-'0';
while(isdigit(c=read_ch()))
numar=numar*10+c-'0';
return numar*sgn;
}
void write_init(const char* nume)
{
fout=fopen(nume,"w");
out_loc=0;
}
void write_ch(char c)
{
if(out_loc==4096)
{
fwrite(out_buff,1,4096,fout);
out_loc=0;
out_buff[out_loc++]=c;
}
else out_buff[out_loc++]=c;
}
void write_u32(int u32)
{
if(u32<=9)write_ch(u32+'0');
else{
write_u32(u32/10);
write_ch(u32%10+'0');
}
}
void write_appendix()
{
fwrite(out_buff,1,out_loc,fout);
fclose(fout);
}
vector <int> v;
int n,k;
int main()
{
read_init("sdo.in");
write_init("sdo.out");
n=read_u32();
k=read_u32();
for(int i=1;i<=n;i++)
v.push_back(read_u32());
sort(v.begin(),v.end());
write_u32(v[k-1]);
write_appendix();
}