Untitled

 avatar
unknown
kotlin
a year ago
1.1 kB
12
Indexable
import java.io.BufferedReader
import java.io.BufferedWriter
import java.io.InputStreamReader
import java.io.OutputStreamWriter

fun main(args: Array<String>) {
    val reader = BufferedReader(InputStreamReader(System.`in`))
    val writer = BufferedWriter(OutputStreamWriter(System.out))

    val inp = reader.readLine().split(" ").map { it.toInt() }
    val N = inp[0]
    val K = inp[1]
    val W = inp[2]

    val renters = Array<IntArray>(K) { IntArray(2) }
    repeat(K) {
        renters[it] = reader.readLine().split(" ").map { it.toInt() }.toIntArray()
    }

    renters.sortByDescending { it[0] } // sort by the cost of renter
    var profit = 0
    for (week in 1 .. W) {
        var bilbordCnt = 0
        for (i in 0 until renters.size) {
            if (bilbordCnt == N) break
            val cost = renters[i][0]
            val weekNumber = renters[i][1]
            if (weekNumber == 0) continue

            bilbordCnt += 1
            profit += cost
            renters[i][1] -= 1 // decrease weeks number for i'th renter
        }
    }

    writer.write("$profit\n")

    reader.close()
    writer.close()
}
Editor is loading...
Leave a Comment