結果
問題 |
No.1325 Subsequence Score
|
ユーザー |
|
提出日時 | 2021-01-03 23:12:35 |
言語 | Python3 (3.13.1 + numpy 2.2.1 + scipy 1.14.1) |
結果 |
TLE
|
実行時間 | - |
コード長 | 819 bytes |
コンパイル時間 | 203 ms |
コンパイル使用メモリ | 12,928 KB |
実行使用メモリ | 17,696 KB |
最終ジャッジ日時 | 2024-10-13 16:59:17 |
合計ジャッジ時間 | 4,220 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | TLE * 1 -- * 27 |
ソースコード
from math import factorial n=int(input()) a=list(map(int,input().split())) point=0 def cmb(n, r): if n - r < r: r = n - r if r == 0: return 1 if r == 1: return n numerator = [n - r + k + 1 for k in range(r)] denominator = [k + 1 for k in range(r)] for p in range(2,r+1): pivot = denominator[p - 1] if pivot > 1: offset = (n - r) % p for k in range(p-1,r,p): numerator[k - offset] /= pivot denominator[k] /= pivot result = 1 for k in range(r): if numerator[k] > 1: result *= int(numerator[k]) return result def cm(l,i,j): a = cmb(i,j-1) b = 2**(len(l)-i-1) return int(a*b) for i in range(n): for j in range(1,i+2): point+=a[i]*j*cm(a,i,j) print(point%998244353)