結果
| 問題 |
No.186 中華風 (Easy)
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2022-04-03 18:26:55 |
| 言語 | Lua (LuaJit 2.1.1734355927) |
| 結果 |
AC
|
| 実行時間 | 32 ms / 2,000 ms |
| コード長 | 760 bytes |
| コンパイル時間 | 94 ms |
| コンパイル使用メモリ | 5,248 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-23 23:51:12 |
| 合計ジャッジ時間 | 1,370 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 23 |
ソースコード
local function getgcd(x, y)
while 0LL < x do
x, y = y % x, x
end
return y
end
local function getlcm(x, y)
local gcd = getgcd(x, y)
return (x / gcd) * y
end
local x1, y1 = io.read("*n", "*n")
local x2, y2 = io.read("*n", "*n")
local x3, y3 = io.read("*n", "*n")
local v = x1 * 1LL
y1 = y1 * 1LL
if v == 0LL then v = y1 end
x2 = x2 * 1LL
y2 = y2 * 1LL
x3 = x3 * 1LL
y3 = y3 * 1LL
local f = false
for irep = 1, 2000000 do
if v % y2 == x2 then f = true break end
v = v + y1
end
if not f then print(-1) os.exit() end
local lcm = getlcm(y1, y2)
f = false
for irep = 1, 2000000 do
if v % y3 == x3 then f = true break end
v = v + lcm
if v < 0LL then break end
end
if not f then print(-1) os.exit() end
v = tostring(v):gsub("LL", "")
print(v)