fork(1) download
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3. #define int long long
  4. int n,k,arr[200010];
  5. bool check(int mid){
  6. int sum=0;
  7. for(int i=1;i<=n;i++){
  8. sum+=arr[i]/mid;
  9. if(arr[i]%mid==0){
  10. sum--;
  11. }
  12. }
  13. return sum<=k;
  14. }
  15. signed main(){
  16. cin>>n>>k;
  17. for(int i=1;i<=n;i++){
  18. cin>>arr[i];
  19. }
  20. int l=1,r=1e9+10,ans;
  21. while(l<=r){
  22. int mid=(l+r)/2;
  23. if(check(mid)){
  24. r=mid-1;
  25. ans=mid;
  26. }else{
  27. l=mid+1;
  28. }
  29. }
  30. cout<<ans;
  31. }
Success #stdin #stdout 0.01s 5316KB
stdin
10 10
158260522 877914575 602436426 24979445 861648772 623690081 433933447 476190629 262703497 211047202
stdout
292638192