记录编号 |
69462 |
评测结果 |
AAAAAAAAAAAAAAAAAAAA |
题目名称 |
[cnoier] 挖金币游戏 |
最终得分 |
100 |
用户昵称 |
苏轼 |
是否通过 |
通过 |
代码语言 |
Pascal |
运行时间 |
0.055 s |
提交时间 |
2013-09-16 16:55:41 |
内存使用 |
0.39 MiB |
显示代码纯文本
PRogram sl;
type
ar=array[0..30000]of longint;
var
a,f:ar;
n,m,i,j,x,c,k,s,t,h,z:longint;
tr:boolean;
procedure sort(l,r:longint;var q:ar);
var
i,j,c,d:longint;
begin
i:=l;
j:=r;
d:=q[(l+r)>>1];
repeat
while q[i]>d do inc(i);
while q[j]<d do dec(j);
if i<=j then begin
c:=q[i];
q[i]:=q[j];
q[j]:=c;
inc(i);
dec(j);
end;
until i>j;
if i<r then sort(i,r,q);
if j>l then sort(l,j,q);
end;
begin
assign(input,'gold.in');
reset(input);
assign(output,'gold.out');
rewrite(output);
read(n,m,h);
for i:=1 to n do
begin
x:=1;
c:=i;
while c>0 do
begin
x:=c mod 10*x;
c:=c div 10;
end;
if x=0 then continue;
inc(a[x]);
end;
sort(1,10000,a);
for i:=1 to 150 do
for j:=1 to 150 do
begin
inc(k);
f[k]:=a[i]*a[j];
if f[k]>z then z:=f[k];
end;
sort(1,k,f);
for i:=1 to m do
begin
inc(s,f[i]);
if s>=h then break;
end;
t:=i;
for i:=t+1 to m do
inc(s,f[i]);
if s>=h then writeln(s,' ',t)
else writeln(z);
close(input);
close(output);
end.