Algorithm, Problem Solving/codeforces

[codeforces][Kotlin] 466A - Cheap Travel

태오님 2023. 3. 25.

목차

    [백준][Java] -

    [프로그래머스][Kotlin] -

     

    문제 정보

    https://codeforces.com/problemset/problem/466/A

     

    Problem - 466A - Codeforces

     

    codeforces.com

    난이도 : A

    유형 : 그리디, Math


    문제 풀이

    세트의 표의 1장당 가격 vs 일반 1장당 가격

    둘이 비교해서 그리디 하게 선택하면 된다.


    코드

    import java.io.BufferedReader
    import java.io.InputStreamReader
    import java.util.StringTokenizer
    
    fun solution() = with(BufferedReader(InputStreamReader(System.`in`))) {
        var st = StringTokenizer(readLine())
        var n = st.nextToken().toInt()
        var m = st.nextToken().toInt()
        var a = st.nextToken().toDouble()
        var b = st.nextToken().toDouble()
        var res: Double = 0.0
    
        if (a > b / m) {
            res += n / m * b
            n %= m
            if (n > 0) {
                if (a * n < b) {
                    res += a * n
                } else {
                    res += b
                }
            }
        } else {
            res = n * a
        }
    
        println(res.toInt())
    }
    
    fun main() {
        solution()
    }

    댓글