zoukankan      html  css  js  c++  java
  • 奶牛晒衣服 (Standard IO)

    题意/Description:

           在熊大妈英明的带领下,时针和它的同伴生下了许多牛宝宝。熊大妈决定给每个宝宝都穿上可爱的婴儿装。于是,为牛宝宝洗晒衣服就成了很不爽的事情。
      圣人王担负起了这个重任。洗完衣服后,你就要弄干衣服。衣服在自然条件下用1的时间可以晒干A点湿度。抠门的熊大妈买了1台烘衣机。使用烘衣机可以让你用1的时间使1件衣服除开自然晒干的A点湿度外,还可烘干B点湿度,但在1的时间内只能对1件衣服使用。
      N件衣服因为种种原因而不一样湿,现在告诉你每件衣服的湿度,要你求出弄干所有衣服的最少时间(湿度为0为干)。

     

    读入/Input

            第一行N,A,B;接下来N行,每行一个数,表示衣服的湿度(1<=湿度,A,B<=500000,1<=N<=500000)。

     

    输出/Output

           一行,最少时间。

     

    题解/solution

           给衣服的湿度排序,用r记录最长衣服干的时间,l记录开始时间,mid为中间时间。然后二分,如果A*mid可以自然干,那往前二分。否则,算一下烘干机是否能烘干,可以往前二分。不可,往后二分。

     

    代码/Code

    var
      n,aa,bb:longint;
      a:array [0..500001] of longint;
    procedure qsort(l,r:longint);
    var
     i,j,m,t:longint;
    begin
      i:=l; j:=r;
      m:=a[(l+r) div 2];
      repeat
        while a[i]>m do inc(i);
        while a[j]<m do dec(j);
        if i<=j then
          begin
            t:=a[i]; a[i]:=a[j]; a[j]:=t;
            inc(i); dec(j);
          end;
      until i>j;
      if l<j then qsort(l,j);
      if i<r then qsort(i,r);
    end;
    
    procedure init;
    var
      i:longint;
    begin
      readln(n,aa,bb);
      for i:=1 to n do
        readln(a[i]);
      qsort(1,n);
    end;
    
    function fd(mid:longint):boolean;
    var
      i,sum,t:longint;
    begin
      sum:=0;
      for i:=1 to n do
        begin
          t:=a[i]-mid*aa;
          if t<=0 then exit(true);
          sum:=sum+t div bb;
          if t mod bb<>0 then sum:=sum+1;
          if sum>mid then exit(false);
        end;
    end;
    
    procedure main;
    var
      i,l,r,mid:longint;
    begin
      l:=1;
      if a[1] mod aa=0 then r:=a[1] div aa
                       else r:=a[1] div aa+1;
      mid:=(l+r) div 2;
      while l<=r do
        begin
          if fd(mid) then r:=mid-1
                     else l:=mid+1;
          mid:=(l+r) div 2;
        end;
      if not fd(mid) then mid:=mid+1;
      write(mid);
    end;
    
    begin
      init;
      main;
    end.
    



  • 相关阅读:
    "Data truncated for column"错误
    PHP连接mysql数据库的代码
    JQuery使用手册
    Search does not work with Anonymous Access(匿名访问搜索无任何结果)
    完美解决MySQL中文乱码
    转:大型高性能ASP.NET系统架构设计
    团队作业8第二次项目冲刺(Beta阶段) 第一天
    团队作业5——测试与发布(Alpha版本)
    2pc和3pc区别
    在linux下使用百度ueditor编辑器上传图片
  • 原文地址:https://www.cnblogs.com/zyx-crying/p/9319641.html
Copyright © 2011-2022 走看看