結果
問題 | No.187 中華風 (Hard) |
ユーザー | onexisan |
提出日時 | 2015-05-21 01:00:26 |
言語 | Python2 (2.7.18) |
結果 |
WA
|
実行時間 | - |
コード長 | 709 bytes |
コンパイル時間 | 65 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 8,576 KB |
最終ジャッジ日時 | 2024-07-06 05:58:14 |
合計ジャッジ時間 | 10,609 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge5 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 21 ms
8,320 KB |
testcase_01 | AC | 21 ms
8,320 KB |
testcase_02 | AC | 689 ms
8,320 KB |
testcase_03 | AC | 653 ms
8,320 KB |
testcase_04 | AC | 639 ms
8,320 KB |
testcase_05 | AC | 635 ms
8,448 KB |
testcase_06 | AC | 641 ms
8,448 KB |
testcase_07 | AC | 639 ms
8,448 KB |
testcase_08 | AC | 696 ms
8,448 KB |
testcase_09 | AC | 697 ms
8,448 KB |
testcase_10 | AC | 704 ms
8,320 KB |
testcase_11 | AC | 642 ms
8,576 KB |
testcase_12 | AC | 639 ms
8,320 KB |
testcase_13 | AC | 24 ms
8,192 KB |
testcase_14 | AC | 23 ms
8,192 KB |
testcase_15 | WA | - |
testcase_16 | WA | - |
testcase_17 | AC | 18 ms
7,936 KB |
testcase_18 | AC | 19 ms
8,192 KB |
testcase_19 | AC | 18 ms
8,064 KB |
testcase_20 | AC | 441 ms
8,448 KB |
testcase_21 | AC | 18 ms
7,936 KB |
testcase_22 | AC | 637 ms
8,448 KB |
testcase_23 | AC | 18 ms
8,064 KB |
testcase_24 | AC | 19 ms
8,064 KB |
ソースコード
from fractions import gcd def inv(a, m): b, x, y = m, 1, 0 while b != 0: t = a // b a, b = b, a - t * b x, y = y, x - t * y pass return x % m def CRT(congs): x, m = 0, 1 for y, n in congs: g = gcd(m, n) if x % g != y % g: return -1, -1 m //= g; l = m * n _m = m while True: t = gcd(m * _m, l) if t == m: break m = t n //= gcd(m, n) x %= m; x += (y - x % n) * inv(m, n) % n * m; m *= n pass return x, m mod = 10 ** 9 + 7 n = input() congs = [map(int, raw_input().split()) for _ in xrange(n)] ans = CRT(congs)[0] print -1 if ans == -1 else ans % mod