1 条题解
-
2
#include<bits/stdc++.h> using namespace std; const int maxn=1e6+5; long long int a[maxn],n,m,sum,maxa; int check(int mid){ int cnt=0; for(int i=1;i<=n;i++){
cnt+=a[i]/mid; } if(cnt>=m) return 1; return 0;
} int main(){ cin>>n>>m; for(int i=1;i<=n;i++) { cin>>a[i]; sum+=a[i]; if(a[i]>maxa) maxa=a[i]; } if(sum<m){ cout<<0; return 0; } int l=1,h=maxa; while(l<h){ int mid=(l+h+1)/2; if(check(mid)) l=mid; else h=mid-1; } cout<<l; return 0; }
- 1
信息
- ID
- 2045
- 时间
- 1000ms
- 内存
- 128MiB
- 难度
- 6
- 标签
- 递交数
- 84
- 已通过
- 24
- 上传者