Untitled
unknown
kotlin
2 years ago
1.1 kB
17
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