[R82A] 邮票
- 难度 入门
- 时限 1s
- 空限 256m
- 数学
数据规模:,且 。
思路
设贴 张邮票。邮件总重量是信封自身的重量加上所有邮票的重量,即 ;邮票能支付的重量是 。两者都关于 线性增长,而每贴一张,支付能力比自身重量多出 克(由 保证这一增益为正),所以贴得越多越容易满足条件。
条件为
因此最少张数就是 。用整数运算写成 (W + d - 1) / d,其中 ,避免浮点误差。
样例 :,。样例 :,。
复杂度
时间 ,空间 。
仓颉实现
查看仓颉实现
import std.env.*
import std.convert.*
main() {
let a = getStdIn().readln().getOrThrow().split(" ", removeEmpty: true).map({ p: String => Int64.parse(p) })
let w = a[0]
let p = a[1]
let s = a[2]
let d = p - s
println((w + d - 1) / d)
}