#P6746. 『MdOI R3』Operations

『MdOI R3』Operations

题目背景

这是这场比赛唯一一道没有题目背景的题,这就是本题的题目背景。

题目描述

给定非负整数 a,ba,b,有两种操作:

  1. 任意选择一个正整数 xx,将两数都减去 xx,执行一次该操作的代价为 cc
  2. 任意选择一个正整数 xx,将两数其中一个数乘以 xx,另一个除以 xx 后向下取整,执行一次该操作的代价为 dd

在这里,向下取整指使一个数变为不大于它的最大的整数,比如 3.53.5 向下取整为 330.07-0.07 向下取整为 1-1

选择的 xx 可以为任意正整数。在操作的过程中,可以把 a,ba,b 变为负数。

你可以任意多次对这两个数操作,求将 a,ba,b 都变成 00 的代价最小值。

输入格式

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

输出格式

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

9 36 1 3
4

提示

【样例解释】

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

更多样例请到这里领取。

【数据范围】

本题采用捆绑测试,换言之,你只有通过一个子任务的所有测试点,才可以拿到该子任务对应分数。 | 子任务编号 | a=0a=0 | b=0b=0 | a=ba=b | c=1,d105c=1,d\geq 10^5 | c105,d=1c \geq 10^5,d=1 | 分值 | | :--------: | :------: | :------: | :--------: | :----------------: | :----------------: | :--: | | 11 | \surd | \surd | | | | 10 | | 22 | \surd | | | | | 10 | | 33 | | | \surd | \surd | | 10 | | 44 | | | | \surd | | 10 | | 55 | | | \surd | | \surd | 10 | | 66 | | | | | \surd | 10 | | 77 | | | | | | 40 |

特殊性质如上所示,其中,\surd 表示保证有该特殊性质,空格表示不保证有该性质。

对于所有数据,0a,b,c,d1090\leq a,b,c,d \leq 10^9