[BOJ 실버 2] 풍선 공장 15810 Kotlin
문제
풀이
- 보자마자 프로그래머스에서 풀었던 이분탐색문제가 생각나서 이분탐색으로 바로 풀었다.
- 최소시간 0, 최대시간 -> 스태프중 가장 오래걸리는 시간 * 풍선개수 로 잡고 이분탐색 돌리면 쉽게 풀 수 있다.
코드
fun main() = with(System.`in`.bufferedReader()) {
val (n,m) = readLine().split(" ").map{it.toInt()}
val list = readLine().split(" ").map{it.toLong()}
var max : Long = list.maxOrNull()!!*m
var min : Long= 0
while(min<=max){
val mid = (max+min)/2
var cnt = 0L
for(t in list){
cnt += mid/t
}
if(cnt<m){
min = mid+1
}
else{
max = mid-1
}
}
println(min)
}
Author And Source
이 문제에 관하여([BOJ 실버 2] 풍선 공장 15810 Kotlin), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@jihoon97/BOJ-실버-2-풍선-공장-15810-Kotlin저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)