二分法
Posted liusu123456
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二分法相关的知识,希望对你有一定的参考价值。
#include<iostream> #include<cstring> #include<cstdio> #include<algorithm> #define N 1000 #define M 1000 using namespace std; int n,f; int a[N]; bool check(int x) { int s=0; for(int i=1;i<=n;i++) s+=a[i]/x; if(s>=f) return true; return false; } int main() { cin>>n>>f; f++; int sum=0; for(int i=1;i<=n;i++) { cin>>a[i]; sum+=a[i]; } int l=0,r=sum/f; while(l<r) { int mid=(l+r+1)/2; if(check(mid)) l=mid; else r=mid-1; } cout<<l<<endl; }
以上是关于二分法的主要内容,如果未能解决你的问题,请参考以下文章