Submission #2761554
Source Code Expand
open Batteries let digitList s = s |> String.to_list |> List.map (fun c -> Char.code c - 48) let id x = x let d = Scanf.scanf "%d\n" id let n = Scanf.scanf "%s\n" id let m = 1000000007 let f x n = let v, a = x in let a1 = Array.make d 0 in for i = 0 to d-1 do for j = 0 to 9 do a1.((i+j) mod d) <- (a1.((i+j) mod d) + a.(i)) mod m done done; for j = 0 to n-1 do a1.((v+j) mod d) <- (a1.((v+j) mod d) + 1) mod m done; ((v+n) mod d, a1) let v, a = List.fold_left f (0, Array.make d 0) (digitList n) let () = Printf.printf "%d\n" (a.(0) + (if v == 0 then 1 else 0) - 1)
Submission Info
Submission Time | |
---|---|
Task | E - 数 |
User | zehnpaard |
Language | OCaml (4.02.3) |
Score | 4 |
Code Size | 626 Byte |
Status | AC |
Exec Time | 251 ms |
Memory | 3328 KB |
Judge Result
Set Name | All | ||
---|---|---|---|
Score / Max Score | 4 / 4 | ||
Status |
|
Set Name | Test Cases |
---|---|
All | 00, 01, 02, 90, 91 |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
00 | AC | 4 ms | 1152 KB |
01 | AC | 150 ms | 3328 KB |
02 | AC | 251 ms | 3328 KB |
90 | AC | 2 ms | 1024 KB |
91 | AC | 2 ms | 1024 KB |