結果
問題 |
No.766 金魚すくい
|
ユーザー |
![]() |
提出日時 | 2025-06-12 20:21:44 |
言語 | PyPy3 (7.3.15) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,032 bytes |
コンパイル時間 | 169 ms |
コンパイル使用メモリ | 82,120 KB |
実行使用メモリ | 85,644 KB |
最終ジャッジ日時 | 2025-06-12 20:21:56 |
合計ジャッジ時間 | 4,356 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 13 WA * 29 |
ソースコード
MOD = 10**9 + 7 def main(): import sys N, M, P = map(int, sys.stdin.readline().split()) V = list(map(int, sys.stdin.readline().split())) V.sort(reverse=True) if P == 100: print(0) return # Compute q = (100 - P) / 100 mod MOD numerator = (100 - P) % MOD inv_100 = pow(100, MOD-2, MOD) q = (numerator * inv_100) % MOD # Compute (1 - q)^M mod MOD one_minus_q = (1 - q) % MOD pow_1_minus_q = pow(one_minus_q, M, MOD) # Compute C = 1 - (1 - q)^M mod MOD C = (1 - pow_1_minus_q) % MOD # Precompute q^j mod MOD for j from 0 to N-1 q_powers = [1] * N for j in range(1, N): q_powers[j] = (q_powers[j-1] * q) % MOD # Compute sum_vq = sum(V[j] * q^j) mod MOD sum_vq = 0 for j in range(N): term = (V[j] % MOD) * q_powers[j] % MOD sum_vq = (sum_vq + term) % MOD # Result is C * sum_vq mod MOD result = (C * sum_vq) % MOD print(result) if __name__ == "__main__": main()