시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
---|---|---|---|---|---|
1 초 | 1024 MB | 1340 | 401 | 261 | 27.445% |
데시는 D일 동안 다이어트를 하기로 결심했다.
다이어트 전 데시의 체중은 W0 g, 일일 에너지 섭취량 I0 Kcal, 일일 기초 대사량은 일일 에너지 섭취량과 같은 I0 Kcal이다. 데시는 운동을 하지 않아 일일 활동 대사량 A0은 0 Kcal이다.
다이어트 기간, 데시는 일일 에너지 섭취량과 일일 활동 대사량을 바꿀 것이다(물론 다이어트 전과 같을 수도 있다). 데시의 다이어트 기간 일일 에너지 섭취량은 I Kcal, 다이어트 기간 일일 활동 대사량은 A Kcal이다.
다이어트를 하는 동안 데시의 체중과 일일 기초 대사량은 변화한다. 단, 데시의 신체 구조는 매우 단순하여 체중과 일일 기초 대사량은 각각 하루에 단 한 번만 변화한다.
체중은 (일일 에너지 섭취량 − 일일 에너지 소비량) g/Kcal만큼 더해진다고 가정한다. 일일 에너지 소비량은 일일 기초 대사량과 일일 활동 대사량을 더한 값이다.
(일일 에너지 섭취량 − 일일 에너지 소비량) 의 절댓값이 기초 대사량 변화 역치 T Kcal 초과라면, 일일 기초 대사량은 ⌊ (일일 에너지 섭취량 − 일일 에너지 소비량) / 2 ⌋ 만큼 더해진다. 일일 기초 대사량 변화는 같은 날의 체중 변화 다음에 일어난다.
단, 아래에 해당하면 데시는 사망한다.
D일 간의 다이어트가 끝난 후, 일일 기초 대사량의 변화를 고려하지 않았을 때와 일일 기초 대사량의 변화를 고려했을 때 각각의 예상 체중과 일일 기초 대사량을, 그리고 다이어트 전 데시의 원래 생활로 돌아간다면 몸무게가 증가하는 요요 현상이 일어날지 계산해주자.
첫 번째 줄에는 데시의 다이어트 전 체중 W0 (1 ≤ W0 ≤ 107), 다이어트 전 일일 에너지 섭취량 및 일일 기초 대사량 I0 (1≤ I0 ≤ 105), 기초 대사량 변화 역치 T (1 ≤ T ≤ 1,000)가 빈칸을 사이에 두고 주어진다.
두 번째 줄에는 데시의 다이어트 기간 D (1 ≤ D ≤ 1,000), 다이어트 기간 일일 에너지 섭취량 I (0 ≤ I ≤ 105), 다이어트 기간 일일 활동 대사량 A (0 ≤ A ≤ 105)가 빈칸을 사이에 두고 주어진다.
입력으로 주어지는 모든 수는 정수이며, 단위는 지문에서 언급한 단위를 따른다. 다이어트 동안 체중이 오히려 증가하는 경우는 입력으로 주어지지 않는다.
첫 번째 줄에는 일일 기초 대사량의 변화를 고려하지 않았을 때의 다이어트 후 예상 체중과 일일 기초 대사량을 출력한다. 일일 기초 대사량 변화를 고려하지 않았으므로 다이어트 전 일일 기초 대사량을 그대로 출력하면 된다. 만약 다이어트 도중 데시의 사망이 예상되는 경우 체중과 일일 기초 대사량 대신 Danger Diet
를 출력한다.
두 번째 줄에는 일일 기초 대사량의 변화를 고려했을 때의 다이어트 후 예상 체중과 일일 기초 대사량을 출력하고, 변화한 일일 기초 대사량을 가지고 다이어트 전 일일 에너지 섭취량과 다이어트 전 일일 활동 대사량으로 돌아갔을 때 체중이 증가하는 요요 현상이 발생하는 경우 YOYO
, 발생하지 않는 경우 NO
를 출력한다. 만약 다이어트 도중 데시의 사망이 예상되는 경우 체중과 일일 기초 대사량, 요요 발생 여부 대신 Danger Diet
를 출력한다.
100000 1500 500 5 1000 700
94000 1500 97300 600 YOYO
일일 기초 대사량 변화를 고려하는 경우 다이어트가 끝난 후 원래의 일일 에너지 섭취량과 일일 활동 대사량으로 돌아간다면 1,500 − (600 + 0) = 900 g 만큼 체중이 증가할 것이다.
100000 1500 500 5 1300 300
97500 1500 97500 1500 NO
일일 기초 대사량 변화를 고려하는 경우 다이어트가 끝난 후 원래의 일일 에너지 섭취량과 일일 활동 대사량으로 돌아가도 1,500 − (1,500 + 0) = 0 g 이므로 체중이 증가하지 않을 것이다.
10000 2000 500 5 500 500
Danger Diet 5500 500 YOYO
일일 기초 대사량 변화를 고려하지 않는 경우 최종 체중이 0g 이 되는 다이어트 5일차에 사망할 것이다.
일일 기초 대사량 변화를 고려하는 경우 다이어트가 끝난 후 원래의 일일 에너지 섭취량과 일일 활동 대사량으로 돌아간다면 2,000 − (500 + 0) = 1,500 g 만큼 체중이 증가할 것이다.
100000 1500 500 5 0 500
90000 1500 Danger Diet
다이어트 전 체중 W0이 100,000g, 일일 에너지 섭취량 I0이 1,500 Kcal인 경우, 다이어트 전 일일 기초 대사량은 일일 에너지 섭취량과 같은 1500 Kcal이다.
데시는 운동을 하지 않으므로 다이어트 전 일일 활동 대사량 A0은 0 Kcal이다.
일일 에너지 소비량은 일일 기초 대사량과 활동 대사량을 더한 값이므로 1,500 + 0 = 1,500 Kcal이다.
데시는 일일 에너지 섭취량은 1,000 Kcal, 일일 활동 대사량은 700 Kcal로 바꾸는 다이어트를 5일 동안 할 것이다.
일일 에너지 소비량은 일일 기초 대사량과 일일 활동 대사량을 더한 값이므로 1,500 + 700 = 2,200 Kcal가 된다.
체중은 (일일 에너지 섭취량 − 일일 에너지 소비량) g/Kcal만큼 더해진다. 따라서 체중은 1,000 − 2,200 = −1,200 g만큼 더해져, 다이어트 1일 차의 최종 체중은 98,800 g이 된다.
일일 기초 대사량은 (일일 에너지 섭취량 − 일일 에너지 소비량) 의 절댓값이 기초 대사량 변화 역치 T Kcal 초과일 때 변화한다. (1,000 − 2,200) Kcal의 절댓값 1,200 Kcal은 기초 대사량 변화 역치인 500 Kcal을 초과하므로, 일일 기초 대사량은 ⌊ (일일 에너지 섭취량 − 일일 에너지 소비량) / 2 ⌋ 만큼 더해진다. 다이어트 1일 차의 최종 일일 기초 대사량은 900 Kcal가 된다. 이때, 음수의 나눗셈은 언어마다 다를 수 있으므로 주의한다. ⌊−5 / 2⌋ 의 값은 −3이다. 자신이 사용하는 언어에서 −3이 나오는지 확인을 해보자.
이를 5일 동안 반복하면 기초 대사량의 변화를 고려한 데시의 다이어트 후 체중은 97,300 g, 일일 기초 대사량은 600 Kcal가 된다.