-
https://www.acmicpc.net/problem/1072
1072번: 게임
김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시
www.acmicpc.net
아이디어
이진탐색을 이용하였습니다.
#include <iostream> #define MAX 1000000000 using namespace std; long long X, Y, Z; void input() { cin >> X >> Y; Z = Y * 100LL / X; } bool check(long long mid) { long long nY = ((Y+mid) * 100LL / (X+mid)); return nY > Z; } void solution() { long long l = 0; long long r = MAX; //승률이 99이상이면 바뀌지 않음 if (Z >= 99) { cout << -1; return; } while (l + 1 < r) { long long mid = (l + r) >> 1; //승률이 높아졌을때 게임의 수 줄임 if (check(mid)) { r = mid; } else { l = mid; } } cout <<r; } int main(void) { input(); solution(); }
'알고리즘 > 백준' 카테고리의 다른 글
BOJ 2613 숫자구슬 / C++ (0) 2022.12.04 BOJ 1939 중량제한 / C++ (0) 2022.12.03 BOJ 18428 감시 피하기 / C++ (0) 2022.12.03 BOJ 2632 피자판매 / C++ (1) 2022.12.03 BOJ 3109 빵집 / C++ (2) 2022.09.15 댓글