P1843 奶牛晒衣服 范围不要设太大!

Posted pangbi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了P1843 奶牛晒衣服 范围不要设太大!相关的知识,希望对你有一定的参考价值。

题意:给出了n件衣服的潮湿度,给出自然风干的速度x 给出烘干机烘干的速度

   只有一台烘干机,一次只能烘一件衣服

   问最少需要多长时间才能够烘干所有衣服

思路:二分。我们给定一个范围,在这个范围内以天数进行二分

   然后二分的时候,根据能否在这个天数内把所有衣服烘干为决定点即可

技术图片
 1 #include<bits/stdc++.h>
 2 using namespace std;
 3 const int maxn=5e5+10;
 4 int a[maxn];
 5 int n,x,y;
 6 int check(int mid)
 7 {
 8     int sum=0;
 9     for(int i=1;i<=n;i++){
10         int tmp=a[i]-mid*x;
11         if(tmp>0){
12             sum+=tmp/y;
13             if(tmp%y) sum++;
14         }
15     }
16     if(sum>mid) return 0;
17     else return 1;
18 }
19 int main()
20 {
21     scanf("%d%d%d",&n,&x,&y);
22     for(int i=1;i<=n;i++){
23         scanf("%d",&a[i]);
24     }
25     int L=0,R=maxn;
26     int ans=maxn;
27     while(L<=R){
28         int mid=L+R>>1;
29         if(check(mid)){
30             R=mid-1;
31             ans=mid;
32         }
33         else{
34             L=mid+1;
35         }
36     }
37     printf("%d
",ans);
38     return 0;
39 }
View Code

 

以上是关于P1843 奶牛晒衣服 范围不要设太大!的主要内容,如果未能解决你的问题,请参考以下文章

P1843 奶牛晒衣服

洛谷——P1843 奶牛晒衣服

洛谷 P1843 奶牛晒衣服

P1843 奶牛晒衣服

P1843 奶牛晒衣服(二分)

奶牛晒衣服(题解)