Advertisement
saurav_kalsoor

Typing Speed - KOTLIN

Dec 22nd, 2021
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Kotlin 0.91 KB | None | 0 0
  1. // Author : Saurav Kalsoor
  2. // Typing Speed - KOTLIN
  3.  
  4. import java.util.*
  5.  
  6.  
  7. var sc: Scanner = Scanner(System.`in`)
  8.  
  9. fun main() {
  10.     val n: Int = sc.nextInt()
  11.     val h: Int = sc.nextInt()
  12.     val words = IntArray(n)
  13.     for (i in 0 until n) {
  14.         words[i] = sc.nextInt()
  15.     }
  16.     val result = typingSpeed(n, h, words)
  17.     println(result)
  18. }
  19.  
  20. fun typingSpeed(n: Int, h: Int, words: IntArray): Int {
  21.     var low = 1
  22.     var high = 1000000000
  23.     var k = 1000000000
  24.     while (low <= high) {
  25.         val mid = low + (high - low) / 2
  26.         val requiredH = getH(n, mid, words)
  27.         if (requiredH <= h) {
  28.             k = mid
  29.             high = mid - 1
  30.         } else {
  31.             low = mid + 1
  32.         }
  33.     }
  34.     return k
  35. }
  36.  
  37. fun getH(n: Int, k: Int, words: IntArray): Int {
  38.     var h = 0
  39.     for (i in 0 until n) {
  40.         h += Math.ceil(words[i] / (k * 1.0)).toInt()
  41.     }
  42.     return h
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement