結果

問題 No.2559 眩しい数直線
ユーザー chaemonchaemon
提出日時 2023-12-02 14:36:12
言語 Nim
(2.0.2)
結果
AC  
実行時間 4 ms / 2,000 ms
コード長 15,013 bytes
コンパイル時間 4,753 ms
コンパイル使用メモリ 95,928 KB
実行使用メモリ 6,548 KB
最終ジャッジ日時 2023-12-02 14:36:38
合計ジャッジ時間 4,463 ms
ジャッジサーバーID
(参考情報)
judge14 / judge13
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
6,548 KB
testcase_01 AC 1 ms
6,548 KB
testcase_02 AC 1 ms
6,548 KB
testcase_03 AC 2 ms
6,548 KB
testcase_04 AC 2 ms
6,548 KB
testcase_05 AC 1 ms
6,548 KB
testcase_06 AC 3 ms
6,548 KB
testcase_07 AC 3 ms
6,548 KB
testcase_08 AC 3 ms
6,548 KB
testcase_09 AC 2 ms
6,548 KB
testcase_10 AC 1 ms
6,548 KB
testcase_11 AC 1 ms
6,548 KB
testcase_12 AC 1 ms
6,548 KB
testcase_13 AC 3 ms
6,548 KB
testcase_14 AC 3 ms
6,548 KB
testcase_15 AC 4 ms
6,548 KB
testcase_16 AC 1 ms
6,548 KB
testcase_17 AC 2 ms
6,548 KB
testcase_18 AC 1 ms
6,548 KB
testcase_19 AC 3 ms
6,548 KB
testcase_20 AC 2 ms
6,548 KB
testcase_21 AC 1 ms
6,548 KB
testcase_22 AC 3 ms
6,548 KB
権限があれば一括ダウンロードができます

ソースコード

diff #

import macros
macro Please(x): untyped = nnkStmtList.newTree()

Please use Nim-ACL
Please use Nim-ACL
Please use Nim-ACL


static:
  when not defined SecondCompile:
    # md5sum: 83394f1601f5d54a6743b682329a2202  atcoder.tar.xz

    template getFileName():string = instantiationInfo().filename
    let fn = getFileName()
    block:
      let (output, ex) = gorgeEx("if [ -e ./atcoder ]; then exit 1; else exit 0; fi")
      # doAssert ex == 0, "atcoder directory already exisits"
    discard staticExec("echo \"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\" | base64 -d > atcoder.tar.xz && tar -Jxvf atcoder.tar.xz")
    let (output, ex) = gorgeEx("nim cpp -d:release -d:SecondCompile -d:danger --path:./ --opt:speed --multimethods:on --warning[SmallLshouldNotBeUsed]:off --checks:off -o:a.out " & fn)
    discard staticExec("rm -rf ./atcoder");doAssert ex == 0, output;quit(0)


when defined SecondCompile:
  const DO_CHECK = false;const DEBUG = false
else:
  const DO_CHECK = true;const DEBUG = true
const
  USE_DEFAULT_TABLE = true
  DO_TEST = false

# see https://github.com/zer0-star/Nim-ACL/tree/master/src/atcoder/extra/header/chaemon_header.nim
include atcoder/extra/header/chaemon_header


proc solve() =
  let N, X = nextInt()
  var A, B:seq[int]
  for i in N:
    let a, b = nextInt()
    A.add a
    B.add b
  var L:seq[int]
  for x in 1 .. X:
    var ans = -int.inf
    for i in N:
      ans.max=max(B[i] - abs(x - A[i]), 0)
    L.add ans
  echo L.join(" ")

solve()

0