poj 1064 Cable master

 <textarea cols="50" rows="15" name="code" class="cpp">// poj 1064 Cable master /* 二分答案就行了。。。 */ #include &lt;iostream&gt; #include &lt;algorithm&gt; #include &lt;cmath&gt; using namespace std; const int inf = 1&lt;&lt;29; __int64 a[10010],n,k; int main() { int b,c; while (scanf("%d%d",&amp;n,&amp;k)!=EOF) { __int64 sum=0; for (int i=0;i&lt;n;i++) { scanf("%d.%d",&amp;b,&amp;c); a[i]=b*100+c; sum+=a[i]; } if (sum&lt;k){ printf("0.00/n"); continue; } else if (sum==k) { printf("0.01/n"); continue; } // printf("%lld/n",sum); __int64 l=1,r=sum/k,mid; int i; while (l&lt;=r) { mid=(l+r)&gt;&gt;1; sum=0; for (i=0;i&lt;n &amp;&amp; sum&lt;k;i++) sum+=a[i]/mid; // printf("mid=%lld,sum=%lld/n",mid,sum); if (sum&gt;=k) l=mid+1; else r=mid-1; } printf("%.2lf/n",(double)r/100.0); } system("pause"); return 0; } </textarea>

你可能感兴趣的:(poj 1064 Cable master)