zoukankan      html  css  js  c++  java
  • BZOJ 5106 [CodePlus2017]汀博尔

    【题解】

      二分答案。r要设好,不能随便设置为max(s,len),不然check的时候会爆long long

      

     1 #include<cstdio>
     2 #include<algorithm>
     3 #define rg register
     4 #define N 200010
     5 #define LL long long
     6 using namespace std;
     7 LL n,s,len,mx,h[N],a[N],l,r,mid;
     8 inline LL read(){
     9     LL k=0; char c=getchar();
    10     while(c<'0'||c>'9')c=getchar();
    11     while('0'<=c&&c<='9')k=k*10+c-'0',c=getchar();
    12     return k;
    13 }
    14 inline bool check(){
    15     LL cnt=0; 
    16     for(rg int i=1;i<=n;i++) 
    17     if(1LL*h[i]+a[i]*mid>=len){
    18         cnt+=1LL*h[i]+a[i]*mid;
    19         if(cnt>=s) return 1;
    20     }
    21     return 0;
    22 }
    23 int main(){
    24     n=read(); s=read(); len=read();
    25     for(rg int i=1;i<=n;i++) h[i]=read();
    26     for(rg int i=1;i<=n;i++) a[i]=read(),mx=max(mx,a[i]);
    27     l=-1; r=max(s,len)/mx+1;
    28     while(l+1<r){
    29         mid=(l+r)>>1;
    30         if(check()) r=mid; else l=mid;
    31     }
    32     printf("%lld
    ",r);
    33     return 0;
    34 }
    View Code
  • 相关阅读:
    Win7下用IIS发布网站
    进程的端口被占用的解决方案
    JS event loop
    慕课网
    angular js
    PowerDesign生成数据库
    CodeSmith 代码生成器
    微信小程序开发学习资料
    SSO 单点登录
    面试
  • 原文地址:https://www.cnblogs.com/DriverLao/p/8899097.html
Copyright © 2011-2022 走看看