1 条题解
-
1
#include<bits/stdc++.h> using namespace std; const int N=1e6+10; int n,m,a[N],maxx; int f(int x){ int s=0; for(int i=1;i<=n;i++){ s+=(a[i]+x-1)/x-1; if(s>m){ return 0; } } return 1; } int main(){ cin>>n>>m; for(int i=1;i<=n;i++){ cin>>a[i]; if(a[i]>maxx){ maxx=a[i]; } } int l=1,r=maxx; while(l<=r){ int mid=(l+r)/2; if(f(mid)){ r=mid-1; } else{ l=mid+1; } } cout<<l; return 0; }
- 1
信息
- ID
- 2641
- 时间
- 1000ms
- 内存
- 256MiB
- 难度
- 7
- 标签
- (无)
- 递交数
- 15
- 已通过
- 8
- 上传者