結果
| 問題 |
No.1486 ロボット
|
| コンテスト | |
| ユーザー |
|
| 提出日時 | 2021-04-23 22:24:12 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,305 bytes |
| コンパイル時間 | 155 ms |
| コンパイル使用メモリ | 82,176 KB |
| 実行使用メモリ | 66,688 KB |
| 最終ジャッジ日時 | 2024-07-04 08:15:56 |
| 合計ジャッジ時間 | 1,921 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 6 WA * 11 |
ソースコード
def gcd(a,b):
if b == 0:
return a
else:
return gcd(b,a%b)
def lcm(a, b):
return a * b // gcd (a, b)
A,B,C,D,E = map(int,input().split())
n = lcm(A+B,C+D)
flag1 = flag2 = True
ans = cnt = cnt1 = cnt2 = 1
end = min(n,E)
while cnt < end:
if flag1:
if cnt1%A == 0:
flag1 = False
cnt1 -= A
else:
if cnt1%B == 0:
flag1 = True
cnt1 -= B
if flag2:
if cnt2%C == 0:
flag2 = False
cnt2 -= C
else:
if cnt2%D == 0:
flag2 = True
cnt2 -= D
if flag1 and flag2:
ans += 1
cnt += 1
cnt1 += 1
cnt2 += 1
if n < E:
ans *= (E)//(n)
flag1 = flag2 = True
cnt = cnt1 = cnt2 = 1
while cnt < E%n:
if flag1:
if cnt1 % A == 0:
flag1 = False
cnt1 -= A
else:
if cnt1 % B == 0:
flag1 = True
cnt1 -= B
if flag2:
if cnt2 % C == 0:
flag2 = False
cnt2 -= C
else:
if cnt2 % D == 0:
flag2 = True
cnt2 -= D
if flag1 and flag2:
ans += 1
cnt += 1
cnt1 += 1
cnt2 += 1
print(ans)