Submission #319411


Source Code Expand

import tempfile, os, subprocess, sys
 
(_, file) = tempfile.mkstemp(suffix='.ml')
f = open(file, "w")
f.write("""
let pf = Printf.printf ;;
let epf = Printf.eprintf ;;
let sf = Scanf.scanf ;;

let (|>) x f = f x ;;
let (@@) f x = f x ;;

module Array = struct
  include ArrayLabels
  let foldi ~f ~init arr =
    let acc = ref init in
    for i = 0 to Array.length arr - 1 do
      acc := f i !acc arr.(i)
    done;
    !acc
  ;;

  let findi arr ~f =
    let len = Array.length arr in
    let rec iter i =
      if i = len then None
      else if f arr.(i) then Some i
      else iter (i + 1) in
    iter 0
  ;;

  let findi_exn arr ~f =
    let len = Array.length arr in
    let rec iter i =
      if i = len then None
      else if f arr.(i) then Some i
      else iter (i + 1) in
    iter 0
  ;;

  (* i ∈ [0..res) -> not (f i) /\ i ∈ [res, len) -> f i *)
  let lower_bound arr ~f =
    let l, h = 0, Array.length arr in
    (* res ∈ (l, h] *)
    let rec iter l h =
      if l = h - 1 then h
      else 
        let m = (l + h) lsr 1 in
        if f m then iter l m
        else iter m h in
    iter l h
  ;;

  (* i ∈ [0..res] -> f i /\ i ∈ (res, len) -> not (f i) *)
  let upper_bound arr ~f =
    let l, h = 0, Array.length arr in
    (* res ∈ [l, h) *)
    let rec iter l h =
      if l = h - 1 then l
      else 
        let m = (l + h) lsr 1 in
        if f m then iter m h
        else iter l m in
    iter l h
  ;;
end
  
module String = StringLabels ;;
module List  = struct
  include ListLabels ;;
  let rec repeat n a = if n = 0 then [] else a :: repeat (n - 1) a ;;
  let rec drop n a =
    if n = 0 then a
    else match a with
    | [] -> failwith "cannot take"
    | x :: xs -> drop (n - 1) xs ;;

  let init ~f n =
    let res = ref [] in
    for i = 0 to n - 1 do
      res := f i :: !res
    done;
    List.rev !res
  ;;
end ;;
module H = Hashtbl ;;

let c = ref ' ' ;;
let is_num c = '0' <= c && c <= '9' ;;
let is_space c = c = ' ' || c = '\n' || c = '\t' ;;
let to_num c = Char.code c - Char.code '0' ;;
let read_char () = input_char stdin ;;

let next_int () =
  while is_space !c do
    c := read_char () ;
  done;
  let ok = ref false in
  let acc = ref 0 in
  while is_num !c do
    ok := true;
    acc := !acc * 10 + to_num !c;
    c := read_char ();
  done;
  if !ok then !acc
  else raise (Failure "next_int")
;; 

module SI = Set.Make (struct
  type t = int 
  let compare = compare
end)

let solve n m arr =
  let res = ref 0 in
  for i = 1 to m do
    let s = Array.fold_left ~init:0 arr ~f:(fun acc (l, r, s) ->
      if l <= i && i <= r then acc else acc + s) in
    res := max !res s;
  done;
  pf "%d\n" !res
;;

let () =
  sf "%d %d " (fun n m -> 
  let arr = Array.init n ~f:(fun _ ->
    sf "%d %d %d " (fun x y z -> x, y, z)) in
  solve n m arr)
;;
""")
f.close()
os.system("ocamlfind ocamlopt -linkpkg -package str,num -inline 20 -unsafe %s" % file)
os.system("./a.out")

Submission Info

Submission Time
Task C - ハイスコア
User iab
Language Python (3.2.3)
Score 100
Code Size 3061 Byte
Status TLE
Exec Time 6036 ms
Memory 32728 KiB

Judge Result

Set Name Sample Subtask1 Subtask2 Subtask3
Score / Max Score 0 / 0 30 / 30 70 / 70 0 / 1
Status
AC × 3
AC × 23
AC × 43
AC × 44
TLE × 19
Set Name Test Cases
Sample subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt
Subtask1 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt
Subtask2 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt
Subtask3 subtask0-sample01.txt, subtask0-sample02.txt, subtask0-sample03.txt, subtask1-01.txt, subtask1-02.txt, subtask1-03.txt, subtask1-04.txt, subtask1-05.txt, subtask1-06.txt, subtask1-07.txt, subtask1-08.txt, subtask1-09.txt, subtask1-10.txt, subtask1-11.txt, subtask1-12.txt, subtask1-13.txt, subtask1-14.txt, subtask1-15.txt, subtask1-16.txt, subtask1-17.txt, subtask1-18.txt, subtask1-19.txt, subtask1-20.txt, subtask2-01.txt, subtask2-02.txt, subtask2-03.txt, subtask2-04.txt, subtask2-05.txt, subtask2-06.txt, subtask2-07.txt, subtask2-08.txt, subtask2-09.txt, subtask2-10.txt, subtask2-11.txt, subtask2-12.txt, subtask2-13.txt, subtask2-14.txt, subtask2-15.txt, subtask2-16.txt, subtask2-17.txt, subtask2-18.txt, subtask2-19.txt, subtask2-20.txt, subtask3-01.txt, subtask3-02.txt, subtask3-03.txt, subtask3-04.txt, subtask3-05.txt, subtask3-06.txt, subtask3-07.txt, subtask3-08.txt, subtask3-09.txt, subtask3-10.txt, subtask3-11.txt, subtask3-12.txt, subtask3-13.txt, subtask3-14.txt, subtask3-15.txt, subtask3-16.txt, subtask3-17.txt, subtask3-18.txt, subtask3-19.txt, subtask3-20.txt
Case Name Status Exec Time Memory
subtask0-sample01.txt AC 729 ms 32728 KiB
subtask0-sample02.txt AC 505 ms 32216 KiB
subtask0-sample03.txt AC 514 ms 32160 KiB
subtask1-01.txt AC 498 ms 32164 KiB
subtask1-02.txt AC 497 ms 32212 KiB
subtask1-03.txt AC 499 ms 32164 KiB
subtask1-04.txt AC 500 ms 32204 KiB
subtask1-05.txt AC 492 ms 32156 KiB
subtask1-06.txt AC 489 ms 32220 KiB
subtask1-07.txt AC 482 ms 32148 KiB
subtask1-08.txt AC 484 ms 32224 KiB
subtask1-09.txt AC 483 ms 32212 KiB
subtask1-10.txt AC 486 ms 32224 KiB
subtask1-11.txt AC 484 ms 32208 KiB
subtask1-12.txt AC 482 ms 32212 KiB
subtask1-13.txt AC 487 ms 32164 KiB
subtask1-14.txt AC 490 ms 32212 KiB
subtask1-15.txt AC 504 ms 32216 KiB
subtask1-16.txt AC 498 ms 32240 KiB
subtask1-17.txt AC 497 ms 32232 KiB
subtask1-18.txt AC 493 ms 32244 KiB
subtask1-19.txt AC 487 ms 32208 KiB
subtask1-20.txt AC 484 ms 32244 KiB
subtask2-01.txt AC 500 ms 32156 KiB
subtask2-02.txt AC 486 ms 32172 KiB
subtask2-03.txt AC 483 ms 32220 KiB
subtask2-04.txt AC 601 ms 32200 KiB
subtask2-05.txt AC 604 ms 32232 KiB
subtask2-06.txt AC 707 ms 32204 KiB
subtask2-07.txt AC 820 ms 32212 KiB
subtask2-08.txt AC 922 ms 32220 KiB
subtask2-09.txt AC 1019 ms 32208 KiB
subtask2-10.txt AC 1033 ms 32212 KiB
subtask2-11.txt AC 1022 ms 32240 KiB
subtask2-12.txt AC 1034 ms 32348 KiB
subtask2-13.txt AC 1035 ms 32224 KiB
subtask2-14.txt AC 1043 ms 32216 KiB
subtask2-15.txt AC 1035 ms 32204 KiB
subtask2-16.txt AC 1058 ms 32164 KiB
subtask2-17.txt AC 1039 ms 32216 KiB
subtask2-18.txt AC 1028 ms 32172 KiB
subtask2-19.txt AC 1023 ms 32236 KiB
subtask2-20.txt AC 1034 ms 32164 KiB
subtask3-01.txt TLE 6036 ms 32208 KiB
subtask3-02.txt TLE 6035 ms 32224 KiB
subtask3-03.txt AC 697 ms 32388 KiB
subtask3-04.txt TLE 6033 ms 32216 KiB
subtask3-05.txt TLE 6035 ms 32196 KiB
subtask3-06.txt TLE 6035 ms 32156 KiB
subtask3-07.txt TLE 6034 ms 32208 KiB
subtask3-08.txt TLE 6035 ms 32240 KiB
subtask3-09.txt TLE 6035 ms 32208 KiB
subtask3-10.txt TLE 6034 ms 32204 KiB
subtask3-11.txt TLE 6032 ms 32236 KiB
subtask3-12.txt TLE 6035 ms 32152 KiB
subtask3-13.txt TLE 6034 ms 32236 KiB
subtask3-14.txt TLE 6034 ms 32152 KiB
subtask3-15.txt TLE 6035 ms 32164 KiB
subtask3-16.txt TLE 6034 ms 32160 KiB
subtask3-17.txt TLE 6034 ms 32212 KiB
subtask3-18.txt TLE 6035 ms 32144 KiB
subtask3-19.txt TLE 6034 ms 32236 KiB
subtask3-20.txt TLE 6035 ms 32152 KiB