讨论 / pascal代码 90分,10分超时,请大家自己改一改,若有其他代码,则关注我的qq qq邮箱:[email protected] qq:2637453212
g++ 2016-03-29 04:59:57
点我顶贴 收藏 删除
var

n,i,j,k,c:longint;

a:array[1..200000] of qword;

procedure sort(l,r: longint);

var

i,j,x,y: longint;

begin

i:=l;

j:=r;

x:=a[(l+r) div 2];

repeat

while a[i]<x do

inc(i);

while x<a[j] do

dec(j);

if not(i>j) then

begin

y:=a[i];

a[i]:=a[j];

a[j]:=y;

inc(i);

j:=j-1;

end;

until i>j;

if l<j then

sort(l,j);

if i<r then

sort(i,r);

end;

begin

k:= 1;

readln(n);

for i:=1 to n do

readln(a[i]);

sort(1,n);

for i:=1 to n do

begin

if a[i]=a[i+1] then inc(k)

else

if a[i]<>a[i+1] then

begin

write(a[i]);

writeln(' ',k);

k:=1;

end;

end;

end.

查看更多回复
提交回复