zoukankan      html  css  js  c++  java
  • Codeforces 279B

    二分查找。

     1 #include<cstdio>
     2 int n,t,a[100000+5];
     3 bool judge(int num)
     4 {
     5     int sum=0;
     6     for(int j=1;j<=num;j++) sum+=a[j];
     7     if(sum<=t) return true;//先把第一本书作为开始,读num本书,算出耗时
     8     for(int i=2;i<=n-num+1;i++)
     9     {
    10         sum=sum-a[i-1]+a[i+num-1];//对于之后的第二本、第三本所为开始的读num本书,只要去掉最前面一个,再在后面添上一个就可以了,算是一定的时间复杂度上的优化
    11         if(sum<=t) return true;
    12     }
    13     return false;
    14 }
    15 int main()
    16 {
    17     scanf("%d%d",&n,&t);
    18     for(int i=1;i<=n;i++) scanf("%d",&a[i]);
    19     int st=0,ed=n+1,mid;
    20     while(ed-st>1)
    21     {
    22         mid=st+(ed-st)/2;
    23         if(judge(mid)) st=mid;
    24         else ed=mid;
    25     }
    26     printf("%d
    ",st);
    27 }



  • 相关阅读:
    购物车宣传页
    项目开发流程
    AJAX跨域
    jQuery中的AJAX
    AJAX封装
    AJAX里使用模板引擎
    AJAX的具体使用
    AJAX的基本使用
    js技巧汇总
    CSS特效汇集
  • 原文地址:https://www.cnblogs.com/dilthey/p/6804147.html
Copyright © 2011-2022 走看看