Submission #1867616
Source Code Expand
(* split a string [s] at every char [c], and return the list of sub-strings *) let split s c = let len = String.length s in let rec iter pos to_rev = if pos = len then List.rev ("" :: to_rev) else try let pos2 = String.index_from s pos c in if pos2 = pos then iter (pos+1) ("" :: to_rev) else iter (pos2+1) ((String.sub s pos (pos2-pos)) :: to_rev) with Not_found -> List.rev ( String.sub s pos (len-pos) :: to_rev ) in iter 0 [];; (* let n = int_of_string (input_line stdin);; *) let rec print_int_list ls = match ls with | [] -> print_endline "" | [x] -> print_endline (string_of_int x ^ " ") | x :: xs -> let () = print_string ((string_of_int x) ^ " ") in print_int_list xs;; let _ = input_line stdin;; let ks = List.map int_of_string (split (input_line stdin) ' ');; let calc ks = let rec iter ks = match ks with | [] -> [] | x0 :: xs -> try let x1 = List.hd xs in (min x0 x1) :: (iter xs) with | _ -> [x0] in match ks with | [] -> [] | x :: _ -> iter (x :: ks);; calc ks |> print_int_list;; (* let calc_opt ks = * let rec iter ks = * match ks with * | [] -> () * | x0 :: xs -> * try * let x1 = List.hd xs in * let () = print_string ((string_of_int (min x0 x1)) ^ " ") in iter xs * with * | _ -> print_endline (string_of_int x0 ^ " ") * in * match ks with * | [] -> () * | x :: _ -> iter (x :: ks);; *) (* let concat ls = List.fold_left (fun x y -> x ^ y) "" ls;; *) (* calc ks * |> List.map (fun x -> (string_of_int x) ^ " ") * |> concat * |> print_endline;; *)
Submission Info
Submission Time | |
---|---|
Task | B - 積み鉛筆 |
User | tzskp1 |
Language | OCaml (4.02.3) |
Score | 80 |
Code Size | 1725 Byte |
Status | AC |
Exec Time | 66 ms |
Memory | 21504 KB |
Judge Result
Set Name | Sample | All | ||||
---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 80 / 80 | ||||
Status |
|
|
Set Name | Test Cases |
---|---|
Sample | sample1.txt, sample2.txt, sample3.txt |
All | sample1.txt, sample2.txt, sample3.txt, subtask0_0.txt, subtask0_1.txt, subtask0_10.txt, subtask0_11.txt, subtask0_12.txt, subtask0_13.txt, subtask0_14.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt |
Case Name | Status | Exec Time | Memory |
---|---|---|---|
sample1.txt | AC | 1 ms | 384 KB |
sample2.txt | AC | 1 ms | 384 KB |
sample3.txt | AC | 1 ms | 384 KB |
subtask0_0.txt | AC | 62 ms | 20736 KB |
subtask0_1.txt | AC | 56 ms | 16512 KB |
subtask0_10.txt | AC | 53 ms | 16896 KB |
subtask0_11.txt | AC | 57 ms | 17408 KB |
subtask0_12.txt | AC | 54 ms | 16896 KB |
subtask0_13.txt | AC | 56 ms | 17280 KB |
subtask0_14.txt | AC | 66 ms | 20992 KB |
subtask0_2.txt | AC | 49 ms | 16384 KB |
subtask0_3.txt | AC | 52 ms | 16768 KB |
subtask0_4.txt | AC | 56 ms | 17408 KB |
subtask0_5.txt | AC | 49 ms | 16512 KB |
subtask0_6.txt | AC | 52 ms | 16640 KB |
subtask0_7.txt | AC | 47 ms | 16256 KB |
subtask0_8.txt | AC | 57 ms | 17408 KB |
subtask0_9.txt | AC | 65 ms | 21504 KB |