问题1418--归零操作

1418: 归零操作

时间限制: 1 Sec  内存限制: 128 MB
提交: 8  解决: 2
[提交] [状态] [讨论版] [命题人:]

题目描述

给定非负整数 a,ba,b,有两种操作:
  1. 任意选择一个正整数 xx,将两数都减去 xx,执行一次该操作的代价为 cc
  2. 任意选择一个正整数 xx,将两数其中一个数乘以 xx,另一个除以 xx 后向下取整,执行一次该操作的代价为 dd
在这里,向下取整指使一个数变为不大于它的最大的整数,比如 3.53.5 向下取整为 33-0.070.07 向下取整为 -11
选择的 xx 可以为任意正整数。在操作的过程中,可以把 a,ba,b 变为负数。
你可以任意多次对这两个数操作,求将 a,ba,b 都变成 00 的代价最小值。

输入

一行四个整数 a,b,c,da,b,c,d,用空格隔开,分别表示 a,ba,b 的初始值和两种操作的代价。

输出

一行一个整数,表示代价的最小值。

样例输入 Copy

9 36 1 3

样例输出 Copy

4

提示

【样例解释】
先使用一次 22 操作,选择 x=2x=2,将 aa  22,将 bb 除以 22,得 a=18,b=18a=18,b=18
再使用一次 11 操作,选择 x=18x=18,将两个数都减去 1818,得 a=0,b=0a=0,b=0
可以证明没有比上述操作代价更小的方案。


如果输入为:9 36 1 3
那么输出4
来自洛谷月赛

来源/分类