結果
問題 |
No.550 夏休みの思い出(1)
|
ユーザー |
![]() |
提出日時 | 2024-03-12 01:50:28 |
言語 | PyPy3 (7.3.15) |
結果 |
TLE
|
実行時間 | - |
コード長 | 1,045 bytes |
コンパイル時間 | 348 ms |
コンパイル使用メモリ | 82,304 KB |
実行使用メモリ | 86,656 KB |
最終ジャッジ日時 | 2024-09-29 22:07:59 |
合計ジャッジ時間 | 6,950 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | -- * 3 |
other | TLE * 1 -- * 54 |
ソースコード
# 割り切れる割り算、上の桁から。 def poly_div(X,Y): ANS=[0]*(len(X)-len(Y)+1) for i in range(len(X)-len(Y)+1): if X[i]%Y[0]!=0: return False ANS[i]=X[i]//Y[0] for j in range(len(Y)): X[j+i]-=ANS[i]*Y[j] return ANS # 掛け算 def poly_mul(X,Y): ANS=[0]*(len(X)+len(Y)-1) for i in range(len(X)): for j in range(len(Y)): ANS[i+j]+=X[i]*Y[j] return ANS A,B,C=map(int,input().split()) for i in range(-10**7,10**7): ANS=poly_div([1,A,B,C],[1,-i]) if ANS!=False: a,b,c=ANS if b*b-4*c<0: continue k=(-b+(b*b-4*c)**(1/2))/2 l=(-b-(b*b-4*c)**(1/2))/2 if abs(k-round(k))<0.00000000000001 and abs(l-round(l))<0.00000000000001: L=[i,round(k),round(l)] L.sort() XX=poly_mul(poly_mul([1,-i],[1,-round(k)]),[1,-round(l)]) if XX[1:]==[A,B,C]: print(*L) exit()