/ Vijos / 讨论 / 第k大 /

为什么要用排序呢?

其实只要换个思维就会很简单啊
一遍AC,
附标程:
var a:array[0..32767] of longint;
i,n,s,x,k:longint;
begin
readln(n,k);
for i:=1 to n do
begin read(x);a[x]:=a[x]+1;end;
for i:=32767 downto 0 do
if a[i]<>0 then begin
s:=s+a[i];
if s>=k then begin writeln(i);halt;end;
end;
end.

4 条评论

  • 1

信息

ID
1788
难度
5
分类
模拟 点击显示
标签
(无)
递交数
2037
已通过
646
通过率
32%
被复制
2
上传者