Advertisement
unknown_0711

Untitled

Oct 16th, 2022
37
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.45 KB | None | 0 0
  1. import java.util.*;
  2. import java.lang.*;
  3. import java.io.*;
  4.  
  5. public class Main
  6. {
  7. public static void main (String[] args) throws java.lang.Exception
  8. {
  9. Scanner gh = new Scanner (System.in);
  10. int n = gh.nextInt();
  11. long k = gh.nextLong();
  12. long[]arr = new long [n];
  13. for(int i=0;i<n; i++){
  14. arr[i] = gh.nextLong();
  15. }
  16. long ans = -1;
  17. long start = 0;
  18. long end = 10000000;
  19. while(start<=end){
  20. long products = 0;
  21. long mid = start+(end-start)/2;
  22. for(int i =0; i<n; i++){
  23. if(arr[i]<=mid){
  24. long tmp = mid/arr[i];
  25. products+= tmp;
  26. }
  27. }
  28. if(products<k){
  29. start = mid+1;
  30. }
  31. else{
  32. ans = mid;
  33. end = mid-1;
  34. }
  35. }
  36. System.out.println(ans);
  37.  
  38. }
  39. }
  40. // import java.util.*;
  41. // import java.lang.*;
  42. // import java.io.*;
  43.  
  44. // public class Main
  45. // {
  46. // public static void main (String[] args) throws java.lang.Exception
  47. // {
  48. // Scanner sc= new Scanner(System.in);
  49. // int n= sc.nextInt();
  50. // int k= sc.nextInt();
  51. // int[] arr= new int[n];
  52.  
  53. // int maxTime= 0;
  54. // for(int i=0; i<n; i++) {
  55. // arr[i]= sc.nextInt();
  56. // maxTime= Math.max(maxTime, arr[i]);
  57. // }
  58.  
  59. // long low= 1;
  60. // long high= k*maxTime;
  61. // long ans= 0;
  62.  
  63. // while(low<=high){
  64.  
  65. // long mid= low + (high-low)/2;
  66.  
  67. // if(canManufacture(arr, mid, k)){
  68. // ans= mid;
  69. // high= mid-1;
  70. // }
  71. // else{
  72. // low= mid+1;
  73. // }
  74. // }
  75. // System.out.println(ans);
  76. // }
  77. // public static boolean canManufacture(int[] arr, long mid, int k){
  78.  
  79. // int items= 0;
  80. // for(int i=0; i<arr.length; i++){
  81. // items += (mid/(long)arr[i]);
  82. // }
  83. // if(items>=(long) k) return true;
  84. // else return false;
  85. // }
  86. // }
  87. // import java.util.*;
  88. // import java.lang.*;
  89. // import java.io.*;
  90.  
  91. // public class Main
  92. // {
  93. // static int isValid(int[] arr , long mid){
  94. // int n = arr.length;
  95. // int products = 0;
  96. // for(int i = 0 ; i< n ; i++){
  97. // products += mid/arr[i];
  98. // }
  99. // return products;
  100. // }
  101. // static long binarySearch(int[] arr , long start, long end , int products ){
  102. // long ans = -1;
  103. // while(start <= end){
  104. // long mid = start+(end - start)/2;
  105. // if(isValid(arr,mid) < products ){
  106. // start = mid+1;
  107. // }else{
  108. // ans = mid;
  109. // end = mid -1;
  110. // }
  111. // }
  112. // return ans;
  113. // }
  114. // public static void main (String[] args) throws java.lang.Exception
  115. // {
  116. // //your code here
  117. // Scanner sc = new Scanner(System.in);
  118. // int n = sc.nextInt();
  119. // int k = sc.nextInt();
  120. // int arr[] = new int[n];
  121. // long max = 0L;
  122. // for(int i=0 ; i <n ; i++ ){
  123. // arr[i] = sc.nextInt();
  124. // max = Math.max(max,arr[i]);
  125. // }
  126. // System.out.println(binarySearch(arr,1,max*k,k));
  127. // sc.close();
  128.  
  129. // }
  130. // }
  131. // import java.util.*;
  132. // import java.lang.*;
  133. // import java.io.*;
  134.  
  135. // public class Main
  136. // {
  137. // static int isValid(int[] arr , long mid){
  138. // int n = arr.length;
  139. // int products = 0;
  140. // for(int i = 0 ; i< n ; i++){
  141. // products += mid/arr[i];
  142. // }
  143. // return products;
  144. // }
  145. // static long binarySearch(int[] arr , long start, long end , int products ){
  146. // long ans = -1;
  147. // while(start <= end){
  148. // long mid = start+(end - start)/2;
  149. // if(isValid(arr,mid) < products ){
  150. // start = mid+1;
  151. // }else{
  152. // ans = mid;
  153. // end = mid -1;
  154. // }
  155. // }
  156. // return ans;
  157. // }
  158. // public static void main (String[] args) throws java.lang.Exception
  159. // {
  160. // //your code here
  161. // Scanner sc = new Scanner(System.in);
  162. // int n = sc.nextInt();
  163. // int k = sc.nextInt();
  164. // int arr[] = new int[n];
  165. // int max = 0;
  166. // for(int i=0 ; i <n ; i++ ){
  167. // arr[i] = sc.nextInt();
  168. // max = Math.max(max,arr[i]);
  169. // }
  170. // System.out.println(binarySearch(arr,1,max*k,k));
  171. // sc.close();
  172.  
  173. // }
  174. // }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement