AtCoder Regular Contest 050

Submission #714274

Source codeソースコード

(** val plus : int -> int -> int **)

let rec plus = ( + )

(** val minus : int -> int -> int **)

let rec minus = ( - )

(** val div2 : int -> int **)

let rec div2 = (fun x -> x / 2)

(** val bsearch : (int -> bool) -> int -> int **)
let rec bsearch p n =
  (fun fO fS n -> if n = 0 then fO () else fS (n-1))
    (fun _ ->
    0)
    (fun n0 ->
    if p (div2 (succ n0))
    then bsearch p (div2 (succ n0))
    else plus (succ (div2 (succ n0)))
           (bsearch (fun x -> p (plus (succ (div2 (succ n0))) x))
             (minus (succ n0) (succ (div2 (succ n0))))))
    n

let solve r b x y n =
  bsearch (fun k ->
  not (k <= r && k <= b && k <= (r - k) / (x - 1) + (b - k) / (y - 1))) n - 1;;

let () =
  let r, b = Scanf.scanf "%d %d\n" (fun r b -> r, b) in
  let x, y = Scanf.scanf "%d %d" (fun x y -> x, y) in
  Printf.printf "%d\n" @@
    solve r b x y (max r b)

Submission

Task問題 B - 花束
User nameユーザ名 launderer
Created time投稿日時
Language言語 OCaml (4.02.3)
Status状態 AC
Score得点 100
Source lengthソースコード長 907 Byte
File nameファイル名
Exec time実行時間 5 ms
Memory usageメモリ使用量 384 KB

Test case

Set

Set name Score得点 / Max score Cases
All 100 / 100 01.txt,02.txt,03.txt,04.txt,05.txt,06.txt,07.txt,08.txt,09.txt,10.txt,11.txt,12.txt,13.txt,14.txt,15.txt,16.txt,17.txt,18.txt,19.txt,20.txt,21.txt,22.txt,23.txt,24.txt,25.txt,26.txt,27.txt,28.txt,29.txt,30.txt,31.txt,32.txt,33.txt,34.txt,35.txt,36.txt,37.txt,38.txt,39.txt,40.txt,41.txt,42.txt,43.txt,44.txt,45.txt,46.txt,47.txt,48.txt,49.txt,50.txt,51.txt,52.txt,53.txt,54.txt,55.txt,56.txt,57.txt,58.txt,59.txt,60.txt

Test case

Case name Status状態 Exec time実行時間 Memory usageメモリ使用量
01.txt AC 4 ms 384 KB
02.txt AC 4 ms 384 KB
03.txt AC 4 ms 384 KB
04.txt AC 4 ms 384 KB
05.txt AC 4 ms 384 KB
06.txt AC 4 ms 384 KB
07.txt AC 4 ms 384 KB
08.txt AC 4 ms 384 KB
09.txt AC 4 ms 384 KB
10.txt AC 4 ms 384 KB
11.txt AC 4 ms 384 KB
12.txt AC 4 ms 384 KB
13.txt AC 4 ms 384 KB
14.txt AC 4 ms 384 KB
15.txt AC 4 ms 384 KB
16.txt AC 4 ms 384 KB
17.txt AC 4 ms 384 KB
18.txt AC 4 ms 384 KB
19.txt AC 4 ms 384 KB
20.txt AC 5 ms 384 KB
21.txt AC 4 ms 384 KB
22.txt AC 4 ms 384 KB
23.txt AC 4 ms 384 KB
24.txt AC 4 ms 384 KB
25.txt AC 4 ms 384 KB
26.txt AC 4 ms 384 KB
27.txt AC 4 ms 384 KB
28.txt AC 4 ms 384 KB
29.txt AC 4 ms 384 KB
30.txt AC 4 ms 384 KB
31.txt AC 4 ms 384 KB
32.txt AC 4 ms 384 KB
33.txt AC 4 ms 384 KB
34.txt AC 4 ms 384 KB
35.txt AC 4 ms 384 KB
36.txt AC 4 ms 384 KB
37.txt AC 4 ms 384 KB
38.txt AC 4 ms 384 KB
39.txt AC 4 ms 384 KB
40.txt AC 4 ms 384 KB
41.txt AC 4 ms 384 KB
42.txt AC 4 ms 384 KB
43.txt AC 4 ms 384 KB
44.txt AC 4 ms 384 KB
45.txt AC 4 ms 384 KB
46.txt AC 4 ms 384 KB
47.txt AC 4 ms 384 KB
48.txt AC 4 ms 384 KB
49.txt AC 4 ms 384 KB
50.txt AC 4 ms 384 KB
51.txt AC 4 ms 384 KB
52.txt AC 4 ms 384 KB
53.txt AC 4 ms 384 KB
54.txt AC 4 ms 384 KB
55.txt AC 4 ms 384 KB
56.txt AC 4 ms 384 KB
57.txt AC 4 ms 384 KB
58.txt AC 4 ms 384 KB
59.txt AC 4 ms 384 KB
60.txt AC 4 ms 384 KB