算法
(简单讨论)
显然,取法的优先级是 $a > b > c$
先从 $a$ 枚 1
中取出 $x_a = \min(k, a)$ 枚
令 $k’ = k-x_a$
再从 $b$ 枚 0
中取出 $x_b = \min(k’, b)$ 枚
令 $k{\’\’} = k’-x_b$
最后从 $c$ 枚 -1
中取出 $x_c = k{\’\’}$ 枚
Python 代码
a, b, c, k = map(int, input().split())
xa = min(a, k)
k -= xa
xb = min(b, k)
k -= xb
xc = k
ans = xa - xc
print(ans)