记录编号 69462 评测结果 AAAAAAAAAAAAAAAAAAAA
题目名称 [cnoier] 挖金币游戏 最终得分 100
用户昵称 Gravatar苏轼 是否通过 通过
代码语言 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.