풀이
- 조건식을 통해 최대 혈압 - 최소 혈압의 차이가 T를 넘을 경우 -1 출력하도록 하기
- 넘지 않고 최소 혈압에 운동 후의 추가 혈압이 최대를 넘지 않을 경우와
- 넘을 경우에 대한 조건 분기를 하며
- 넘을 경우에는 다시 운동할 수 있는 혈압이 될때까지 while문을 반복한 다음
- 운동한 뒤 카운팅하여 문제 해결
package _2312;
import java.io.*;
import java.util.*;
public class 운동 {
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
int N = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
int T = Integer.parseInt(st.nextToken());
int R = Integer.parseInt(st.nextToken());
int be_m = m;
int cnt = 0;
if (M-m >= T) {
for (int i = 0; i < N; i++) {
if (m+T <= M) {
m += T;
cnt ++;
}
else {
while (m+T > M) {
cnt ++;
if (m-R >= be_m) m -= R;
else {
m = be_m;
break;
}
}
m += T;
cnt ++;
}
}
System.out.println(cnt);
} else {
System.out.println(-1);
}
}
}
'알고리즘' 카테고리의 다른 글
[백준, 파이썬, 1159번] 농구 경기 (0) | 2023.12.13 |
---|---|
[백준, 자바, 1159번] 농구 경기 (0) | 2023.12.13 |
[백준, 파이썬, 1173번] 운동 (0) | 2023.12.13 |
[백준, 파이썬, 25206번] 너의 평점은 (1) | 2023.10.11 |
[백준, 파이썬, 10988번] 팰린드롬인지 확인하기 (0) | 2023.10.11 |