解法
Submission #779180 - AtCoder Regular Contest 056 | AtCoder
やるだけ。
出題がズルくて、A円をL個買う方が、セットをB円で買うより安い場合があるかもしれないので、
B = min(B, A * L);としておくとよい。
オーバーフローが怖くてlong longでやってます
long long A, B, K, L, d, a, b; cin >> A >> B >> K >> L; B = min(B, A * L); d = K / L; a = d * B + (K % L) * A; b = (d + 1) * B; printf("%lld\n", min(a, b));