좀 쉬워서 놀랬다.
A가 이정도는 아니었는데?? (근데 한 번 틀렸음ㅋㅋ)
m * a랑 b랑 비교하면 되는 문제였다.
만약 b가 더 작으면 n개 중 되는대로 m개를 채우고 남은건 a로 채우면 되겠다 싶었다.
그런데 틀렸다ㅋㅋ
전에 양념치킨 문제랑 비슷하게 틀려서 빨리 찾을 수 있었음.
양념치킨 문제에서 딱 n개만큼 안 사고 싸다면 더 많은 양을 사면 됐다.
이 문제도 b가 터무니없이 싸면 그냥 n개 이상으로 사도 괜찮았다.
이거 고치니 맞았다ㅎㅎ
#include <iostream>
#include <algorithm>
#include <vector>
#include <string>
#include <functional>
#include <string>
using namespace std;
using i64 = long long;
int main() {
int n, m, a, b;
scanf("%d %d %d %d", &n, &m, &a, &b);
if (a * m > b)
{
int sum = (n / m) * b;
sum += min((n % m) * a, b);
printf("%d", sum);
}
else
printf("%d", n * a);
return 0;
}
'코드포스' 카테고리의 다른 글
[코드포스 Practice14] C. Drazil and Factorial (0) | 2020.03.13 |
---|---|
[코드포스 Practice14] B. Find The Bone (0) | 2020.03.13 |
[코드포스 Practice14] 후기 (0) | 2020.03.13 |
[코드포스 Practice13] D. Which floor? (0) | 2020.03.09 |
[코드포스 Practice13] C. Save the problem! (0) | 2020.03.09 |