結果
問題 | No.604 誕生日のお小遣い |
ユーザー |
![]() |
提出日時 | 2019-05-20 17:46:45 |
言語 | Java (openjdk 23) |
結果 |
AC
|
実行時間 | 136 ms / 1,000 ms |
コード長 | 1,002 bytes |
コンパイル時間 | 2,572 ms |
コンパイル使用メモリ | 74,880 KB |
実行使用メモリ | 46,932 KB |
最終ジャッジ日時 | 2024-11-21 19:29:34 |
合計ジャッジ時間 | 6,251 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
ソースコード
import java.math.BigInteger; import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner stdin = new Scanner(System.in); long a = stdin.nextLong(); long b = stdin.nextLong(); long c = stdin.nextLong(); BigInteger A = new BigInteger(String.valueOf(a)); BigInteger B = new BigInteger(String.valueOf(b)); BigInteger C = new BigInteger(String.valueOf(c)); long left = -1; long right = c + 1; while (right - left > 1) { // long sum = b * (mid / a) + (mid - mid / a); long mid = left + (right - left) / 2; BigInteger MID = new BigInteger(String.valueOf(mid)); BigInteger SUM = B.multiply(MID.divide(A)).add(MID.subtract(MID.divide(A))); if (SUM.compareTo(C) >= 0) { right = mid; } else { left = mid; } } System.out.println(right); } }