CS/Algorithm

[ JAVA / 백준 : 1072] 게임

yujindonut 2021. 8. 16. 13:48
728x90

조건

게임을 최소! 몇번해야하냐고 해서 left값을 출력

z가 변하지 않는다면 -1 출력


import java.util.Scanner;

public class 개임 {

	public static long x,y,z;
	public static void main(String[] args) {

		Scanner scan = new Scanner(System.in);
		x = scan.nextLong();
		y = scan.nextLong();

		z = y * 100 / x;
		
		if(z >= 99)
			System.out.println(-1);
		else {
			long left = 0;
			long right = x;
			while(left <= right) {
				long mid = (left + right) / 2;
				if(z < 100 * (y + mid) / (x + mid)) {
					right = mid - 1;
				}else {
					left = mid + 1;
				}
			}
			System.out.println(left);
		}
		scan.close();
	}

}

답안 참고

728x90