結果

問題 No.580 旅館の予約計画
ユーザー むらため
提出日時 2019-01-25 15:11:17
言語 Nim
(2.2.0)
結果
AC  
実行時間 3 ms / 2,000 ms
コード長 741 bytes
コンパイル時間 2,717 ms
コンパイル使用メモリ 62,240 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-07-01 10:45:48
合計ジャッジ時間 3,770 ms
ジャッジサーバーID
(参考情報)
judge4 / judge5
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 36
権限があれば一括ダウンロードができます
コンパイルメッセージ
/home/judge/data/code/Main.nim(1, 27) Warning: imported and not used: 'sugar' [UnusedImport]

ソースコード

diff #

import sequtils,algorithm,sugar
proc getchar_unlocked():char {. importc:"getchar_unlocked",header: "<stdio.h>" .}
proc scan(): int =
  while true:
    let k = getchar_unlocked()
    if k < '0' or k > '9': break
    result = 10 * result + k.ord - '0'.ord
proc parseLine(): tuple[x,y:int] =
  result.x = scan() * 1440 + scan() * 60 + scan()
  result.y = scan() * 1440 + scan() * 60 + scan()

let n = scan()
let m = scan()
let U = newSeqWith(m,parseLine()).sortedByIt(it.y)
var preY = newSeq[int](n)
var ans = 0
for u in U: # preY は 小さい順に並んでいると過程
  let i = preY.lowerBound(u.x) # それ以上の初のindex
  if i == 0: continue
  if preY[i-1] >= u.x : continue
  preY[i-1] = u.y
  ans += 1
  preY.sort(cmp)
echo ans
0