轻描.L 2011-11-06 01:23:00
点我顶贴
收藏
删除
program xx;
var
f:array[1..200000]of longint;
b:array[1..10000]of longint;
i,j,k,x,y,xx,n:longint;
procedure sort(l,r:longint);
var
i,j,x,y:longint;
begin
i:=l;
j:=r;
x:=b[(l+r)div 2];
repeat
while b[i]<x do inc(i);
while b[j]>x do dec(j);
if i<=j then
y:=b[i];
b[i]:=b[j];
b[j]:=y;
inc(i);
dec(j);
until i>j;
if i<r then sort(i,r);
if l<j then sort(l,j);
end;
Begin
fillchar(f,sizeof(f),0);
readln(n);
for I:=1 to n do
begin
readln(xx);
if f[xx]>0 then
inc(f[xx])
else
begin
inc(f[xx]);
inc(k);
b[k]:=xx;
end;
end;
sort(1,k);
for i:=1 to k do
writeln(b[i],' ',f[b[i]]);
end.