#scale. 2026提高组模拟赛11-T1 程老师的药材铺

2026提高组模拟赛11-T1 程老师的药材铺

时间限制:1000ms 内存限制:512MB

题目描述

程老师在老街上经营一间药材铺,柜台上摆着一架老式托盘天平,左右各一个铜盘。铺子里配药不用电子秤,全靠砝码。砝码只有两种规格:一种每只 aa 克,一种每只 bb 克,两种都备了满满一抽屉,想用多少只都有。药材包照例放在左盘,砝码则没有限制——左盘、右盘都可以放,放多少只也随意。天平平衡时,右盘砝码总克数减去左盘砝码总克数,正好等于药材的克数,这一味药就算称出来了。

两种砝码的来历不一样。bb 克砝码是前些年统一配发的新砝码,随便用,不收钱。aa 克砝码是铺子里传下来的老砝码,黄铜包角,每年都要送去校准保养,所以掌柜立了条规矩:每动用一只 aa 克砝码,无论放在哪一盘,都记 pp 元养护费,月底从柜上支出。学徒配药时得把这笔账算进去——同一包药,全用新砝码可能称不出来,全用老砝码又太破费,怎么搭配是一门手艺。

具体来说,称 ww 克药时,学徒要决定四种数量:右盘放几只 aa 克砝码、左盘放几只 aa 克砝码、右盘放几只 bb 克砝码、左盘放几只 bb 克砝码,使得天平恰好平衡。每种砝码用的只数可以凑出各种不同的总克数:右盘的砝码把药材"压"出来,左盘的砝码则相当于帮药材"凑"克数。有时把老砝码垫在药材这边反而更划算,新学徒常常想不到这一层。

柜上配药有固定的流程:伙计照方抓药,粗分成小包后交到柜上,学徒复核时逐包过秤,克数与方子不符的当场增减,复核无误才包扎盖章。复核这一道工序全指着天平,一天下来要用几十次。两种砝码的克数也可能恰好相同——新砝码配发时并没有统一规格,个别铺子领到的正好和老砝码一般重,这种情况照样各算各的账:老砝码照收养护费,新砝码照旧免费。学徒选配砝码时只看一条:总费用最省。

程老师要给你的任务很直接:给定 aabbwwpp,算出称 ww 克药所需的最少养护费。如果无论怎么搭配两种砝码都称不出 ww 克,费用无从谈起,按铺子里的老规矩记 1-1。柜上每天进出几十味药,这页账要写进流水册,差一钱一钱都对不上,所以答案必须分毫不差。

输入格式

一行四个整数 a,b,w,pa, b, w, p,分别表示 aa 克砝码的克数、bb 克砝码的克数、要称的药材克数、每只 aa 克砝码的养护费。

输出格式

输出一行一个整数,表示称 ww 克药所需的最少养护费;若无法称出,输出 1-1

数据范围

测试点编号 a,b,wa, b, w \le 特殊性质
1 ~ 3 100100
4 ~ 8 20002000
9 ~ 12 2×1052 \times 10^5
13 ~ 20 10910^9
  • 对于全部数据,1a,b,w,p1091 \le a, b, w, p \le 10^9

样例

样例 1

输入

6 10 8 3

输出

6

解释:一种称法是左盘放 2266 克砝码垫着药材,右盘放 221010 克砝码:右盘 2020 克,左盘 8+12=208 + 12 = 20 克,恰好平衡,动用 22 只老砝码,费用 2×3=62 \times 3 = 6 元。另一种称法是右盘放 3366 克砝码,左盘放 111010 克砝码:右盘 1818 克,左盘 8+10=188 + 10 = 18 克,也平衡,但用了 33 只老砝码,费用 99 元。再试试别的搭配,费用都不会低于 66 元。

样例 2

输入

6 10 7 5

输出

-1

解释:两种砝码的克数都是 22 的倍数,左右盘怎么放,两盘之差凑来凑去都是 22 的倍数,而 77 是奇数,永远称不出来,按规矩记 1-1

样例 3

输入

15 9 6 2

输出

2

解释:右盘放 111515 克砝码,左盘放 1199 克砝码垫着药材:右盘 1515 克,左盘 6+9=156 + 9 = 15 克,恰好平衡。只动用 11 只老砝码,费用 22 元。全用 99 克砝码凑不出 66 克,全用 1515 克砝码也凑不出,所以 11 只老砝码已经不能再少。

难度 普及+/提高-
通过率
尝试 0
已通过 0
ID
675
类型
传统题
Time Limit
1000ms
Memory Limit
512MiB
上传者