728x90
반응형
● 문제
https://www.acmicpc.net/problem/23972
● 풀이
민주가 가지고 있어야할 최소 금액 : answer
악마가 제안한 금액 : a
지불하고 남은 금액의 배수 : n
이득을 보려면 가지고 있는 금액에 악마가 제안한 금액을 뺀 금액의 n배에 남은 금액을 뺀 금액이 악마가 제안한 금액보다 크면 된다.
(answer - a) * n - (answer - a) >= a
(answer - a) (n - 1) >= a
answer >= a / (n - 1) + a
n = 1일때는 분모가 0이므로 answer가 무한대
● 소스
package acmicpc;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.Arrays;
public class acmicpc23972 {
public static void main(String args[]) {
try (BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(System.out));) {
int intArr[] = Arrays.stream(reader.readLine().split(" ")).mapToInt(Integer::parseInt).toArray();
int a = intArr[0];
int b = intArr[1];
int answer = b == 1 ? -1 : (int) Math.ceil((double) a / (b-1)) + a;
writer.append(String.valueOf(answer));
writer.flush();
} catch(Exception e) {}
}
}
728x90
반응형
'개발 > 백준알고리즘' 카테고리의 다른 글
1920번_수 찾기_java (0) | 2023.08.12 |
---|---|
11723번_집합_java (0) | 2023.08.06 |
15726번_이칙연산_java (0) | 2023.08.06 |
2563번_색종이_java (0) | 2022.12.11 |
5597번_과제 안 내신 분..?_java (0) | 2022.12.08 |