[R76A] 还是灯


数据规模:0≤A,B≤1000 \le A,B \le 100,1≤S≤1001 \le S \le 100。

思路

两盏灯的总亮度为 A+BA+B,相机最多只能记录 SS。

  • 若 A+B≤SA+B \le S,所有亮度都被记录,溢出为 00;
  • 若 A+B>SA+B > S,记录亮度为 SS,超出部分是 A+B−SA+B-S。

即记录亮度为 min⁡(A+B,S)\min(A+B,S),溢出亮度为 max⁡(0,A+B−S)\max(0,A+B-S),直接计算输出即可。由于 A,B≤100A,B \le 100,答案不超过 200200,不会溢出。

复杂度

时间 O(1)O(1),空间 O(1)O(1)。

仓颉实现

查看仓颉实现
import std.env.*
import std.convert.*

main() {
    let reader = getStdIn()
    let parts = reader.readln().getOrThrow().split(" ", removeEmpty: true).map({ p: String => Int64.parse(p) })
    let a = parts[0]
    let b = parts[1]
    let s = parts[2]
    let total = a + b
    let recorded = if (total < s) { total } else { s }
    let overflow = if (total > s) { total - s } else { 0 }
    println("${recorded} ${overflow}")
}