货物总数不变,一开始全在 1 号货位。
1 号的件数 mn=s−a1。t<mn 则不可能。1 步。没有货或只有一个货位时,任何浪费都走不了。库里有 n 个货位。一开始只有 1 号货位上放了 s 件货,其余货位都是空的。一次搬运可以把一件货从某个货位挪到另一个货位。给定每个货位的目标件数 ai,问能不能恰好搬 t 次,让第 i 个货位上正好有 ai 件。
货件总数不会凭空增减。若可以,输出 Yes,否则输出 No。
约束:
1 ≤ n ≤ 1000000 ≤ s ≤ 10000000000 ≤ t ≤ 10000000000000000000 ≤ ai ≤ 1000000000第一行三个整数 n、s、t(1 ≤ n ≤ 100000,0 ≤ s ≤ 1000000000,0 ≤ t ≤ 1000000000000000000),表示货位数、初始件数和必须恰好完成的搬运次数。
第二行 n 个整数 a1,a2,…,an(0 ≤ ai ≤ 1000000000),表示各货位的目标件数。
输出一行:若恰好 t 次搬运后能达到目标,输出 Yes,否则输出 No。
输入
3 3 2
1 1 1
输出
Yes
说明
1 号先有 3 件。把一件搬到 2 号、一件搬到 3 号,正好 2 次,三个货位各 1 件。
输入
2 5 3
3 2
输出
No
说明
至少要把 2 件从 1 号搬走。两个货位之间多走的路只能成对出现,3 次比最少次数多 1,做不到。
输入
3 1 2
1 0 0
输出
Yes
说明
目标其实已经达成。把仅有的一件搬到旁边再搬回来,恰好 2 次,货还在 1 号。
By signing up a CodeFun2000 universal account, you can submit code and join discussions in all online judging services provided by us.