結果
問題 | No.59 鉄道の旅 |
ユーザー | yuki2006 |
提出日時 | 2014-11-05 22:53:19 |
言語 | Python2 (2.7.18) |
結果 |
AC
|
実行時間 | 526 ms / 5,000 ms |
コード長 | 578 bytes |
コンパイル時間 | 541 ms |
コンパイル使用メモリ | 7,040 KB |
実行使用メモリ | 14,080 KB |
最終ジャッジ日時 | 2024-12-24 19:54:48 |
合計ジャッジ時間 | 3,701 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 12 |
ソースコード
N, K = map(int, raw_input().split()) MX = 1000000 data = [0] * (MX + 1) def BIT_Add(x, a): while x <= MX: data[x] += a x += x & (-x) def BIT_Sum(x): total = 0 while x > 0: total += data[x] x -= x & (-x) return total for _ in xrange(N): W = int(raw_input()) if W > 0: W -= 1 if BIT_Sum(MX - W) < K: BIT_Add(MX - W, 1) elif W < 0: W += 1 if BIT_Sum(MX + W) - BIT_Sum(MX + W - 1) > 0: BIT_Add(MX + W, -1) print BIT_Sum(MX)