結果
問題 | No.1352 Three Coins |
ユーザー |
![]() |
提出日時 | 2021-01-17 13:38:05 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,015 bytes |
コンパイル時間 | 2,057 ms |
コンパイル使用メモリ | 77,904 KB |
実行使用メモリ | 41,688 KB |
最終ジャッジ日時 | 2024-11-29 20:09:28 |
合計ジャッジ時間 | 7,754 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 14 WA * 20 |
ソースコード
import java.util.Arrays;import java.util.Scanner;public class Main {public static void main(String[] args) throws Exception {Scanner sc = new Scanner(System.in);int[] a = new int[3];for (int i = 0; i < 3; i++) {a[i] = sc.nextInt();}sc.close();int g = 0;for (int i = 0; i < 3; i++) {g = gcd(g, a[i]);}if (g > 1) {System.out.println("INF");return;}Arrays.sort(a);int[] c = new int[a[0]];Arrays.fill(c, Integer.MAX_VALUE);for (int i = 1; i < 3; i++) {for (int j = 1; j < c.length; j++) {int x = 0;int end = a[0] * a[i] / gcd(a[0], a[i]);while (x < end) {x += a[i];if (x % a[0] == j) {c[j] = Math.min(c[j], x / a[0]);break;}}}}int ans = 0;for (int i = 1; i < c.length; i++) {if (c[i] == Integer.MAX_VALUE) {System.out.println("INF");return;}ans += c[i];}System.out.println(ans);}static int gcd(int a, int b) {return b == 0 ? a : gcd(b, a % b);}}