zoukankan      html  css  js  c++  java
  • bzoj2257

    不难发现其实这个捣鼓过程就是一个辗转相减
    所以最小燃料是瓶容量的最小公约数
    然后穷举约数即可

     1 var a:array[0..3000010] of longint;
     2     n,k,x,i,m,j,t:longint;
     3 
     4 procedure sort(l,r: longint);
     5   var i,j,x,y:longint;
     6   begin
     7     i:=l;
     8     j:=r;
     9     x:=a[(l+r) shr 1];
    10     repeat
    11       while a[i]<x do inc(i);
    12       while x<a[j] do dec(j);
    13       if not(i>j) then
    14       begin
    15         y:=a[i];
    16         a[i]:=a[j];
    17         a[j]:=y;
    18         inc(i);
    19         j:=j-1;
    20       end;
    21     until i>j;
    22     if l<j then sort(l,j);
    23     if i<r then sort(i,r);
    24   end;
    25 
    26 begin
    27   readln(n,k);
    28   for i:=1 to n do
    29   begin
    30     readln(x);
    31     m:=trunc(sqrt(x));
    32     for j:=1 to m do
    33       if x mod j=0 then
    34       begin
    35         inc(t);
    36         a[t]:=j;
    37         if j*j<>x then
    38         begin
    39           inc(t);
    40           a[t]:=x div j;
    41         end;
    42       end;
    43   end;
    44   sort(1,t);
    45   m:=1;
    46   for i:=t-1 downto 0 do
    47   begin
    48     if a[i]=a[i+1] then inc(m)
    49     else begin
    50       if m>=k then
    51       begin
    52         writeln(a[i+1]);
    53         halt;
    54       end;
    55       m:=1;
    56     end;
    57   end;
    58 end.
    View Code
  • 相关阅读:
    echarts 饼图
    vue echarts
    :style :class
    弹框弹出时禁止页面滚动
    2019-2-10 日记
    2019-1-27 日记
    2019-1-26 日记
    2019-1-3 日记
    2019-1-10 日记
    2019-1-2 日记
  • 原文地址:https://www.cnblogs.com/phile/p/4473003.html
Copyright © 2011-2022 走看看