結果
問題 |
No.1501 酔歩
|
ユーザー |
![]() |
提出日時 | 2021-05-08 00:30:23 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
AC
|
実行時間 | 348 ms / 2,000 ms |
コード長 | 512 bytes |
コンパイル時間 | 112 ms |
コンパイル使用メモリ | 12,672 KB |
実行使用メモリ | 24,876 KB |
最終ジャッジ日時 | 2024-09-15 12:36:21 |
合計ジャッジ時間 | 13,480 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 53 |
ソースコード
import math def plus(a,b,c,d): x,y=(a*d+b*c),b*d g=math.gcd(x,y) if x<=0 and y<=0: x,y=-x,-y return x//g,y//g N,K=map(int,input().split()) A=list(map(int,input().split())) if N==1: print("1/1") exit() L=[0]*N L[0]=[0,1] L[1]=[1,1] for i in range(1,N-1): a=A[i-1] b=A[i+1] n1,m1=L[i-1] n2,m2=L[i] x,y=plus((a+b)*n2,m2,-n1*a,m1) g=math.gcd(x,y*b) L[i+1]=x//g,y*b//g a,b=L[K-1] c,d=L[-1] x,y=a*d,c*b g=math.gcd(x,y) x,y=x//g,y//g if x==0: print(0) exit() print(str(x)+"/"+str(y))