結果
問題 | No.995 タピオカオイシクナーレ |
ユーザー |
![]() |
提出日時 | 2025-03-20 21:11:24 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 69 ms / 2,000 ms |
コード長 | 928 bytes |
コンパイル時間 | 159 ms |
コンパイル使用メモリ | 82,668 KB |
実行使用メモリ | 87,028 KB |
最終ジャッジ日時 | 2025-03-20 21:12:16 |
合計ジャッジ時間 | 2,422 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 23 |
ソースコード
MOD = 10**9 + 7def main():import sysinput = sys.stdin.read().split()idx = 0N = int(input[idx]); idx += 1M = int(input[idx]); idx += 1K = int(input[idx]); idx += 1p = int(input[idx]); idx += 1q = int(input[idx]); idx += 1b = list(map(int, input[idx:idx+N]))idx += N# Calculate initial statess = [0] * Nfor i in range(M):s[i] = 1inv_q = pow(q, MOD-2, MOD)mod_val = (q - 2 * p) % MODmod_val = (mod_val + MOD) % MOD # Ensure non-negativet = (mod_val * inv_q) % MODt_pow = pow(t, K, MOD)inv_2 = pow(2, MOD-2, MOD)ans = 0for i in range(N):if s[i]:e = ( (t_pow + 1) * inv_2 ) % MODelse:numerator = (1 - t_pow) % MODe = (numerator * inv_2) % MODe = e * b[i] % MODans = (ans + e) % MODprint(ans)if __name__ == "__main__":main()