본문 바로가기
백준

[백준] 23972번 : 악마의 제안 – JAVA [자바]

by Hongwoo 2023. 8. 3.
반응형

https://www.acmicpc.net/problem/23972

 

23972번: 악마의 제안

첫째 줄에 악마가 제안한 정수 K와 N이 공백을 사이에 두고 주어진다. (1 ≤ K, N ≤ 200,000,000)

www.acmicpc.net

 


  • 문제

 

 


  • 문제 풀이

백준 23972번 악마의 제안은 브론즈 3 난이도의 수학 문제이다. 

 

이 문제에서는 처음에 X원을 가지고 있다. 그리고 악마한테 K원을 지불하면 남은 금액 (X - K)원을 N배로 만들어준다고 한다. 이때, 처음에 얼마를 가지고 있어야 K원을 지불했을 때 손해를 보지 않는지 구하면 된다. 그리고 무조건 손해를 본다면 -1을 출력하면 된다.

 

즉, 다음과 같은 식을 이용해서 풀면 된다.

 

추가로, 무조건 손해를 보는 조건은 N이 1일 때다. 이때, 악마한테 K원을 지불했을 때 남아있는 돈을 배로 받지 못 해서 무조건 손해를 본다. 따라서 N = 1일 때 -1을 출력해 준다.

 

자세한 코드는 아래에 있는 코드를 참고하면 되겠다.

 


  • 코드

 

import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int k = Integer.parseInt(st.nextToken());
        int n = Integer.parseInt(st.nextToken());
        if (n == 1) {
            System.out.println(-1);
            return;
        }
        long div = 1l * k * n / (n-1);
        long remainder = 1l * k * n % (n-1);
        if (remainder > 0L) div++;
        System.out.println(div);
    }

}

 

 

반응형

댓글