結果

問題 No.766 金魚すくい
ユーザー gew1fw
提出日時 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
権限があれば一括ダウンロードができます

ソースコード

diff #

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()
0