結果
問題 | No.1243 約数加算 |
ユーザー |
|
提出日時 | 2021-10-01 08:28:29 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 74 ms / 2,000 ms |
コード長 | 586 bytes |
コンパイル時間 | 157 ms |
コンパイル使用メモリ | 81,920 KB |
実行使用メモリ | 69,760 KB |
最終ジャッジ日時 | 2024-07-18 14:03:48 |
合計ジャッジ時間 | 1,365 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 1 |
other | AC * 9 |
ソースコード
from math import gcdt=int(input())for _ in range(t):a,b=map(int,input().split())op=[]while b-a>=2:if a%2==0 and b%2==0:op.append(2)a//=2b//=2elif a%2==0:op.append(-1)b-=1elif b%2==0:op.append(1)a+=1else:op.append(1)op.append(-1)a+=1b-=1if b-a==1:op.append(1)by=1plus=[]minus=[]for num in op:if num==1:plus.append(by)elif num==-1:minus.append(by)else:by*=numANS=plus+list(reversed(minus))print(len(ANS))print(*ANS)