728x90
V일의 휴가 중에서 캠핑장을 최대 며칠이나 즐길 수 있을지 구하는 문제이다.
연속하는 P일 중 L일 동안 사용이 가능하다 명시했으므로 V를 P로 나누면 캠핑장을 L일동안 쓸 수 있는 횟수가 나오게 될 것이다.
이때 나머지는 min(mod, L) 계산을 통해 나머지 일 수 중에서 캠핑을 즐길 수 있는 날을 더해주면 답을 구할 수 있다.
최종 수식
$ANSWER = \lfloor V \div P \rfloor \times L + min(V mod P, L)$
전체코드
#include <iostream>
#include <algorithm>
using namespace std;
using ll = long long;
int main()
{
int l, p, v;
cin >> l >> p >> v;
int cnt = 1;
while (l && p && v)
{
ll res = 0;
res += (ll)v / p * l;
if (v % p)
res += min(l, v % p);
cout << "Case " << cnt << ": " << res << "\n";
cin >> l >> p >> v;
++cnt;
}
}
728x90
'백준 > 그리디' 카테고리의 다른 글
백준 13458 - 시험 감독 (0) | 2020.06.20 |
---|---|
백준 1758 - 알바생 강호 (0) | 2020.06.06 |
[ICPC] 백준 17521 - Byte Coin (0) | 2020.06.05 |
백준 12915 - 대회 개최 (0) | 2020.05.29 |
백준 1744 - 수 묶기 (0) | 2019.09.20 |