BOJ

BOJ 4796 캠핑

홍code 2022. 3. 10. 11:24

문제 링크 : https://www.acmicpc.net/problem/4796

 

4796번: 캠핑

입력은 여러 개의 테스트 케이스로 이루어져 있다. 각 테스트 케이스는 한 줄로 이루어져 있고, L, P, V를 순서대로 포함하고 있다. 모든 입력 정수는 int범위이다. 마지막 줄에는 0이 3개 주어진다.

www.acmicpc.net

요약

캠핑장을 연속하는 P일 중, L일동 안 만 사용할 수 있다. 강산이는 이제 막 V일자리 휴가를 시작했다. 강산이가 캠핑장을 최대 며칠 동안 사용할 수 있는지 구하는 문제다.

풀이

V일의 휴가동안 캠핑장을 최대로 사용하려면 P일이 젤 많이 포함되게 하여야 한다. P일중 가장 빠른 날부터 L일동 안 사용한 후 P-L일만큼 쉰 후 바로 다시 L일 동안 사용해야지 가장 많이 포함된다. 이 과정을 구현해주었다.

코드

#include<iostream>
using namespace std;
int L, P, V,cnt;
int main() {
	while (1) {
		cnt++;
		cin >> L >> P >> V;
		int ans = 0;
		if (!L && !P && !V)break;
		ans += (V / P)*L;
		if (L > V%P) ans += V % P;
		else if (L <= V % P) ans += L;
		cout << "Case "<< cnt <<": "<< ans << "\n";
	}
}