結果

問題 No.146 試験監督(1)
ユーザー taktak
提出日時 2019-02-13 15:07:52
言語 F#
(F# 4.0)
結果
AC  
実行時間 171 ms / 1,000 ms
コード長 649 bytes
コンパイル時間 6,767 ms
コンパイル使用メモリ 186,180 KB
実行使用メモリ 62,244 KB
最終ジャッジ日時 2024-09-13 10:00:16
合計ジャッジ時間 8,137 ms
ジャッジサーバーID
(参考情報)
judge5 / judge3
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 165 ms
61,988 KB
testcase_01 AC 167 ms
62,132 KB
testcase_02 AC 171 ms
62,244 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
  復元対象のプロジェクトを決定しています...
  /home/judge/data/code/main.fsproj を復元しました (232 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 #

let MOD = pown 10 9 |> (+)7 |> int64
let R() = stdin.ReadLine()

let solve cs ds =
    let rec f score cs ds =
        match cs, ds with
        | [], _ | _, [] -> score
        | c::cs, d::ds  ->
            let c' = ((c + 1L) / 2L) % MOD
            let d' = d % MOD
            let score' = (c' * d') % MOD
            let newScore = (score + score') % MOD 
            f newScore cs ds             
    f 0L cs ds
    
let N = R() |> int
let C, D =
    let t = List.init N (fun _ -> let t = R().Split() in t.[0], t.[1])
    let c = t |> List.map (fst>>int64)
    let d = t |> List.map (snd>>int64)
    c, d
       
solve C D
|> stdout.WriteLine
0