2 solutions
-
1
#include<bits/stdc++.h> using namespace std; const int N=1e5+10; int a[N]; int k; int n; bool check(int x) { int cnt=0; for(int i=1;i<=n;i++) { cnt+=a[i]/x; } return cnt>=k; } int main() { cin>>n>>k; int l=0,r=0; for(int i=1;i<=n;i++) { cin>>a[i]; r=max(r,a[i]); } while(l<r) { int mid=l+r+1>>1; if(check(mid)) l=mid; else r=mid-1; } cout<<l; return 0; }
Information
- ID
- 950
- Time
- 1000ms
- Memory
- 256MiB
- Difficulty
- 3
- Tags
- (None)
- # Submissions
- 82
- Accepted
- 30
- Uploaded By