結果
問題 |
No.1184 Hà Nội
|
ユーザー |
|
提出日時 | 2020-09-13 23:57:10 |
言語 | OCaml (5.2.1) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 373 bytes |
コンパイル時間 | 370 ms |
コンパイル使用メモリ | 21,700 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-09 02:04:12 |
合計ジャッジ時間 | 1,767 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 2 |
other | AC * 27 |
ソースコード
Scanf.scanf "%d %d" (fun n l -> let z = 998244353 in let ( *@) a b = (a * b) mod z in let modpow a b = let rec loop r i acc = if i = 0 then acc else loop (r *@ r) (i lsr 1) (if i land 1 = 0 then acc else acc *@ r) in loop a b 1 in let a = (n + l - 1) / l in Printf.printf "%d\n" @@ (modpow 2 a + z - 1) mod z )