結果

問題 No.1102 Remnants
ユーザー eSeFeSeF
提出日時 2020-07-03 16:06:06
言語 F#
(F# 4.0)
結果
AC  
実行時間 465 ms / 2,000 ms
コード長 990 bytes
コンパイル時間 9,560 ms
コンパイル使用メモリ 188,308 KB
実行使用メモリ 76,032 KB
最終ジャッジ日時 2024-09-16 17:07:25
合計ジャッジ時間 17,657 ms
ジャッジサーバーID
(参考情報)
judge4 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 64 ms
30,080 KB
testcase_01 AC 65 ms
30,184 KB
testcase_02 AC 67 ms
30,464 KB
testcase_03 AC 67 ms
30,208 KB
testcase_04 AC 66 ms
30,336 KB
testcase_05 AC 410 ms
72,064 KB
testcase_06 AC 123 ms
38,272 KB
testcase_07 AC 465 ms
76,032 KB
testcase_08 AC 76 ms
31,104 KB
testcase_09 AC 85 ms
33,024 KB
testcase_10 AC 68 ms
30,592 KB
testcase_11 AC 82 ms
32,256 KB
testcase_12 AC 89 ms
33,656 KB
testcase_13 AC 88 ms
33,152 KB
testcase_14 AC 249 ms
54,912 KB
testcase_15 AC 204 ms
48,896 KB
testcase_16 AC 409 ms
65,024 KB
testcase_17 AC 423 ms
73,600 KB
testcase_18 AC 406 ms
72,940 KB
testcase_19 AC 188 ms
48,128 KB
testcase_20 AC 106 ms
36,096 KB
testcase_21 AC 271 ms
59,648 KB
testcase_22 AC 341 ms
62,464 KB
testcase_23 AC 286 ms
64,128 KB
testcase_24 AC 228 ms
54,272 KB
testcase_25 AC 420 ms
73,344 KB
testcase_26 AC 90 ms
33,664 KB
testcase_27 AC 162 ms
43,904 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.fsproj を復元しました (388 ms)。
MSBuild のバージョン 17.9.6+a4ecab324 (.NET)
  main -> /home/judge/data/code/bin/Release/net8.0/main.dll
  main -> /home/judge/data/code/bin/Release/net8.0/publish/

ソースコード

diff #

open System
let R T = stdin.ReadLine()|> T
let RS T = stdin.ReadLine().Split()|>Array.map T
let R2 T U = RS string|>fun c-> (c.[0]|>T),(c.[1]|>U)
let R3 T U V = RS string|>fun c-> (c.[0]|>T),(c.[1]|>U),(c.[2]|>V)
let R4 T U V W = RS string|>fun c-> (c.[0]|>T),(c.[1]|>U),(c.[2]|>V),(c.[3]|>W)
let R5 T U V W X = RS string|>fun c-> (c.[0]|>T),(c.[1]|>U),(c.[2]|>V),(c.[3]|>W),(c.[4]|>X)
[<EntryPoint>]
let main argv =
    let N,K = R2 int int64
    let A = RS int64
    let MOD = 1000000007L
    let rec modpow (x:int64) n =
        match n with
        | 0 -> 1L
        | 1 -> x%MOD
        | _ when n%2=0 -> ((modpow ((x*x)%MOD) (n/2)))%MOD
        | _ -> (x*(modpow x (n-1)))%MOD
    let comb = [|for i in [1..N] do yield 1L|]
    for i in [1..(N-1)] do
        comb.[i] <- ((comb.[i-1]*(K+(i|>int64)))%MOD*(modpow (i|>int64) 1000000005))%MOD
    [for i in [0..(N-1)] do yield ((comb.[i]*comb.[N-1-i])%MOD*A.[i])%MOD]
    |>List.reduce (fun a b -> (a+b)%MOD)
    |>stdout.WriteLine
    0
0