Strong Root

문제를 보시려면 여기를 클릭


이하는 코드입니다.


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
29
30
31
32
33
34
#include <stdio.h>
 
#pragma warning(disable:4996)
 
long long N, M;
 
int getWinNum() {
    int goal = (M * 100) / N + 1;    // 엄청 중요한 문장. 이 문장 때문에 2시간을 허비함.
    if (goal > 99) {
        return -1;
    }
 
    double ret =  (double)(goal * N - 100 * M) / (100 - goal);
    int flooredRet = (int)ret;
    if ((ret - flooredRet) > 0.0) {
        return flooredRet + 1;
    }
    return flooredRet;
}
 
int main() {
    int C;
    scanf("%d\n", &C);
 
    for (int i = 0; i < C; i++) {
        int tmpN, tmpM;
        scanf("%d %d", &tmpN, &tmpM);
        N = tmpN;
        M = tmpM;
        printf("%d\n", getWinNum());
    }
 
    return 0;
}
cs