Submission #1867610


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 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 n = int_of_string (input_line stdin);; *)

let _ = input_line stdin;;

let ks = List.map int_of_string (split (input_line stdin) ' ');;

calc_opt ks;;

(* let concat ls = List.fold_left (fun x y -> x ^ y) "" ls;;
 * 
 * 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
 * |> 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 1491 Byte
Status AC
Exec Time 64 ms
Memory 19712 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 80 / 80
Status
AC × 3
AC × 18
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 60 ms 18688 KB
subtask0_1.txt AC 54 ms 16512 KB
subtask0_10.txt AC 52 ms 15872 KB
subtask0_11.txt AC 54 ms 16640 KB
subtask0_12.txt AC 50 ms 16128 KB
subtask0_13.txt AC 52 ms 16384 KB
subtask0_14.txt AC 64 ms 19328 KB
subtask0_2.txt AC 46 ms 15104 KB
subtask0_3.txt AC 50 ms 15744 KB
subtask0_4.txt AC 54 ms 16512 KB
subtask0_5.txt AC 48 ms 15360 KB
subtask0_6.txt AC 49 ms 15744 KB
subtask0_7.txt AC 45 ms 14976 KB
subtask0_8.txt AC 54 ms 16512 KB
subtask0_9.txt AC 63 ms 19712 KB