반응형
- " 1 ~ INT_MAX " 범위에서의 이분탐색을 통해 result 값을 갱신.
- result 값과 Z값을 비교한 결과 result값이 크다면 high 위치를 mid-1 로 변경, 반대일 경우 low 위치를 mid+1로 변경.
- answer값이 0 그대로라면 0출력, answer값에 변화가 있었다면 answer값 출력.
#include <iostream>
#include <climits>
using namespace std;
typedef long long ll;
ll x, y, z;
bool check(int mid) {
ll X = mid + x;
ll Y = mid + y;
ll result = Y*100/X;
if (result > z)return true;
else return false;
}
int main() {
cin >> x >> y;
z = y * 100/x;
ll l = 0;
ll h = INT_MAX;
ll answer = 0;
while (l <= h) {
ll mid = (l + h) / 2;
if (check(mid)) {
h = mid - 1;
answer = mid;
}
else l = mid + 1;
}
if (!answer)cout << -1;
else cout << answer;
}
1072번: 게임
김형택은 지금 몰래 Spider Solitaire(스파이더 카드놀이)를 하고 있다. 형택이는 이 게임을 이길 때도 있었지만, 질 때도 있었다. 누군가의 시선이 느껴진 형택이는 게임을 중단하고 코딩을 하기 시
www.acmicpc.net
반응형
'백준 > 이분탐색' 카테고리의 다른 글
[백준 18113번 / C++] 그르다 김가놈 (0) | 2022.02.16 |
---|---|
[백준 15810번 / C++] 풍선 공장 (0) | 2022.02.16 |
[백준 2776번 / C++] 암기왕 (0) | 2022.01.26 |
[백준 14627번 / C++] 파닭파닭 (0) | 2022.01.25 |
[백준 1561번 / C++] 놀이 공원 (0) | 2022.01.19 |
댓글