枚举即可,可以算出选第一种方案的最大个数,那么枚举选他的次数即可,剩下的物品个数再看能组成多少种第二种方案。
最后选出最大的即可。
import sys
from collections import Counter
# 输入加速
input = sys.stdin.readline
if __name__ == '__main__':
n,m,a,b = map(int,input().split())
cnt1 = min(n // 2,m)
res = min(n,m // 2) * b
#从a种逐渐扣
for i in range(cnt1 + 1):
r1 = n - i * 2
r2 = m - i
res = max(res,a * i + b * min(r1,r2 // 2))
print(res)