結果

問題 No.1475 時計の歯車Easy
ユーザー esehara
提出日時 2021-06-01 19:49:10
言語 OCaml
(5.4.1)
コンパイル:
ocamlfind ocamlopt -linkpkg -package zarith,str _filename_ -o a.out
実行:
./a.out
結果
AC  
実行時間 2 ms / 2,000 ms
コード長 633 bytes
記録
記録タグの例:
初AC ショートコード 純ショートコード 純主流ショートコード 最速実行時間
コンパイル時間 158 ms
コンパイル使用メモリ 20,924 KB
実行使用メモリ 6,400 KB
最終ジャッジ日時 2026-05-09 04:44:16
合計ジャッジ時間 1,543 ms
ジャッジサーバーID
(参考情報)
judge1_0 / judge3_1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 42
権限があれば一括ダウンロードができます

ソースコード

diff #
raw source code

let split_on_char sep s =
  let r = ref [] in
  let j = ref (String.length s) in
  for i = String.length s - 1 downto 0 do
    if String.unsafe_get s i = sep then begin
      r := String.sub s (i + 1) (!j - i - 1) :: !r;
      j := i
    end
  done;
  String.sub s 0 !j :: !r;;

let rec lines n =
  match n with
  | 0 -> ()
  | _ ->
    read_line ()
    |> split_on_char ' '
    |> List.tl
    |> List.map int_of_string
    |> List.sort (fun x y -> - (compare x y))
    |> List.map string_of_int
    |> String.concat " "
    |> print_string; print_newline ();
    lines (n - 1);;

let () =
  read_line () |> int_of_string |> lines;;
0