백준 알고리즘(C++)

백준 1072번 게임 ( C++ )

coding232624 2024. 9. 11. 16:47

문제

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

 

해설

n의 값이 크기 때문에 이분 탐색을 이용함

 

코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include<iostream>
#include<algorithm>
 
using namespace std;
typedef long long ll;
 
ll x, y, ret =-1, tmp,low,mid,hi,z;
 
int main(){
  cin >> x >>y ;
    z = (y*100)/x;
    low = 1; hi = 1e9;
  while(low <= hi){
        mid = (low+hi)/2;
        if(((y+mid)*100)/(mid+x)>z){
            ret = mid;
            hi = mid-1;
        }
        else{
            low = mid+1;
        }
    }
 
 
  cout << ret;
  return 0;
}
 
cs