importjava.io.*;publicclassMain{staticBufferedReaderstdin=newBufferedReader(newInputStreamReader(System.in));staticintT;staticlongN;staticlongM;staticlong[]res;publicstaticvoidmain(String[]args)throwsException{T=Integer.parseInt(stdin.readLine());res=newlong[T];for(intt=0;t<T;t++){String[]tmp=stdin.readLine().split(" ");N=Long.parseLong(tmp[0]);M=Long.parseLong(tmp[1]);res[t]=solve();}for(longr:res)System.out.println(r);}staticlongsolve()throwsException{intT=(int)((double)M/N*100)+1;// target// impossible to reachif(T==100||T==101)return-1;// 100 * (M + n) / (N + n) >= T// becomes n >= (T * N - 100 * M) / (100 - T)doublen=(double)(T*N-100*M)/(100-T);// Math.ceil to make as an integerlongnumWin=(long)Math.ceil(n);if(numWin<=0||numWin>2000000000)return-1;// just in case ......for(inti=-500;i<=500;i++){if(numWin+i>0){intcurr=(int)((double)(M+numWin+i)/(N+numWin+i)*100);if(curr>=T)returnnumWin+i;}}returnnumWin;}}
수식으로 간단히 구해져서 쉽게 끝나겠거니 했는데 계속 오답이 나오네요. 너무 답답해서 "just in case"라고 쓰인 부분까지 추가해서 혹시 모를 연산 에러(?)를 막으려고까지 했는데 계속 오답입니다... 도와주십시오 ㅠ
gwpark
수식으로 간단히 구해져서 쉽게 끝나겠거니 했는데 계속 오답이 나오네요. 너무 답답해서 "just in case"라고 쓰인 부분까지 추가해서 혹시 모를 연산 에러(?)를 막으려고까지 했는데 계속 오답입니다... 도와주십시오 ㅠ
10년 전