fork download
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3. signed main(){
  4. int n, k;
  5. cin >> n >> k;
  6. vector<int> a(n);
  7. for(int i = 0; i < n; i++){
  8. cin >> a[i];
  9. }
  10. double l = 1, r = 1e7;
  11. double ans = 0;
  12. for(int i = 0; i < 60; i++){
  13. double mid = (l + r) * 0.5;
  14. int now = 0;
  15. for(int j = 0; j < a.size(); j++){
  16. now += a[j] / mid;
  17. }
  18. // cout << now << endl;
  19. cout << l << " " << r << endl;
  20. if(now == k){
  21. l = mid;
  22. ans = max(ans, mid);
  23. continue;
  24. }
  25. if(now > k){
  26. l = mid;
  27. }else{
  28. r = mid;
  29. }
  30.  
  31. }
  32. cout << fixed << setprecision(15) << ans;
  33. }
Success #stdin #stdout 0.01s 5268KB
stdin
4 11
802
743
457
539
stdout
1 1e+07
1 5e+06
1 2.5e+06
1 1.25e+06
1 625001
1 312501
1 156251
1 78126
1 39063.5
1 19532.2
1 9766.62
1 4883.81
1 2442.41
1 1221.7
1 611.352
1 306.176
153.588 306.176
153.588 229.882
191.735 229.882
191.735 210.808
191.735 201.272
196.503 201.272
198.887 201.272
200.079 201.272
200.079 200.676
200.378 200.676
200.378 200.527
200.452 200.527
200.489 200.527
200.489 200.508
200.499 200.508
200.499 200.503
200.499 200.501
200.5 200.501
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.5 200.5
200.499999999997982