結果
| 問題 |
No.3365 Prefix and Suffix X
|
| コンテスト | |
| ユーザー |
sasa8uyauya
|
| 提出日時 | 2025-11-23 00:29:04 |
| 言語 | PyPy3 (7.3.15) |
| 結果 |
TLE
|
| 実行時間 | - |
| コード長 | 723 bytes |
| コンパイル時間 | 386 ms |
| コンパイル使用メモリ | 82,728 KB |
| 実行使用メモリ | 226,476 KB |
| 最終ジャッジ日時 | 2025-11-23 00:29:12 |
| 合計ジャッジ時間 | 7,664 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | -- * 1 |
| other | TLE * 1 -- * 29 |
ソースコード
q=[[[] for j in range(1000)] for i in range(1000)]
for M in range(1000):
for i in range(10000):
j=(M*i)%1000
if len(q[M][j])<10:
q[M][j]+=[M*i]
T=int(input())
for _ in range(T):
X,M=map(int,input().split())
ans=-1
for i in range(20):
Y=X*(10**i)
Y+=(-Y)%M
for v in q[M%1000][(X-Y)%1000]:
Y+=v
lx=len(str(X))
ly=len(str(Y))
if Y%M==0 and lx<=ly<=18 and str(Y)[:lx]==str(Y)[-lx:]==str(X):
ans=Y
Y-=v
for i in range(20):
Y=(X-1)*(10**i)
Y+=(-Y)%M
for v in q[M%1000][(X-Y)%1000]:
Y+=v
lx=len(str(X))
ly=len(str(Y))
if Y%M==0 and lx<=ly<=18 and str(Y)[:lx]==str(Y)[-lx:]==str(X):
ans=Y
Y-=v
print(ans)
sasa8uyauya