Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Author : Saurav Kalsoor
- // Typing Speed - KOTLIN
- import java.util.*
- var sc: Scanner = Scanner(System.`in`)
- fun main() {
- val n: Int = sc.nextInt()
- val h: Int = sc.nextInt()
- val words = IntArray(n)
- for (i in 0 until n) {
- words[i] = sc.nextInt()
- }
- val result = typingSpeed(n, h, words)
- println(result)
- }
- fun typingSpeed(n: Int, h: Int, words: IntArray): Int {
- var low = 1
- var high = 1000000000
- var k = 1000000000
- while (low <= high) {
- val mid = low + (high - low) / 2
- val requiredH = getH(n, mid, words)
- if (requiredH <= h) {
- k = mid
- high = mid - 1
- } else {
- low = mid + 1
- }
- }
- return k
- }
- fun getH(n: Int, k: Int, words: IntArray): Int {
- var h = 0
- for (i in 0 until n) {
- h += Math.ceil(words[i] / (k * 1.0)).toInt()
- }
- return h
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement