Submission #2542287


Source Code Expand

module IntMap = Map.Make (struct
  type t = int
  let compare = compare
end)

let () = Scanf.scanf "%d\n" @@ fun n ->
  let as_ = Array.init n @@ fun _ -> Scanf.scanf "%d " @@ fun a -> a in
  Array.fold_left (fun (count, offset, s) a ->
    (*
     * s全体にaを加える代わり,offsetにaを加える
     * sの中身の真の値はoffsetを足したもの
     *)
    count + (try IntMap.find (~- offset) s with Not_found -> 0),
    offset + a,
    IntMap.add (~- offset) (1 + try IntMap.find (~- offset) s with Not_found -> 0) s) (0, 0, IntMap.empty) as_
  |> (fun (count, offset, s) -> 
      count + (try IntMap.find (~- offset) s with Not_found -> 0))
  |> Printf.printf "%d\n"

Submission Info

Submission Time
Task A - Zero-Sum Ranges
User fetburner
Language OCaml (4.02.3)
Score 200
Code Size 712 Byte
Status AC
Exec Time 316 ms
Memory 16896 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 200 / 200
Status
AC × 3
AC × 21
Set Name Test Cases
Sample sample_01.txt, sample_02.txt, sample_03.txt
All sample_01.txt, sample_02.txt, sample_03.txt, sample_01.txt, sample_02.txt, sample_03.txt, subtask_1_01.txt, subtask_1_02.txt, subtask_1_03.txt, subtask_1_04.txt, subtask_1_05.txt, subtask_1_06.txt, subtask_1_07.txt, subtask_1_08.txt, subtask_1_09.txt, subtask_1_10.txt, subtask_1_11.txt, subtask_1_12.txt, subtask_1_13.txt, subtask_1_14.txt, subtask_1_15.txt
Case Name Status Exec Time Memory
sample_01.txt AC 1 ms 384 KB
sample_02.txt AC 1 ms 384 KB
sample_03.txt AC 1 ms 384 KB
subtask_1_01.txt AC 1 ms 384 KB
subtask_1_02.txt AC 1 ms 384 KB
subtask_1_03.txt AC 109 ms 8448 KB
subtask_1_04.txt AC 29 ms 5248 KB
subtask_1_05.txt AC 70 ms 4992 KB
subtask_1_06.txt AC 316 ms 16896 KB
subtask_1_07.txt AC 154 ms 5888 KB
subtask_1_08.txt AC 121 ms 4352 KB
subtask_1_09.txt AC 48 ms 5888 KB
subtask_1_10.txt AC 265 ms 16256 KB
subtask_1_11.txt AC 163 ms 6528 KB
subtask_1_12.txt AC 160 ms 6400 KB
subtask_1_13.txt AC 260 ms 15360 KB
subtask_1_14.txt AC 161 ms 6528 KB
subtask_1_15.txt AC 161 ms 6400 KB