提出 #69958477
ソースコード 拡げる
"""
<方針>
- 毎クエリ `O(Q)` で全てのPCのバージョンを見て `O(N)` しまうと、`O(NQ)` で間に合わない。
- PCのバージョンがそれぞれ何個あるか `versions` を持たせる。
- 常に最低バージョンが何か `mi` を保持させておけば、毎クエリ `N` 個も見ることはない。
- したがって、全体として、`O(N+Q)` で処理できる。
"""
N, Q = map(int, input().split())
# i番目のバージョンを持つPCはいくつあるか。
versions = [1]*N
# 存在する最低バージョン
mi = 0
for _ in range(Q):
X, Y = map(int, input().split())
X -= 1
Y -= 1
# 更新するPCの個数をカウント
ans = 0
# 最低バージョンからループさせれば、間に合う。
for i in range(mi, X+1):
ans += versions[i]
versions[i] = 0 # ここはコメントアウトしても多分通る。
# 個数を変える
versions[Y] += ans
# PCを更新できたら、そのバージョンが最低バージョンとなる。
if(ans > 0):
mi = X+1
# 出力
print(ans)
提出情報
| 提出日時 | |
|---|---|
| 問題 | C - Upgrade Required |
| ユーザ | mattsunkun |
| 言語 | Python (PyPy 3.10-v7.3.12) |
| 得点 | 300 |
| コード長 | 1122 Byte |
| 結果 | AC |
| 実行時間 | 396 ms |
| メモリ | 91276 KiB |
ジャッジ結果
| セット名 | Sample | All | ||||
|---|---|---|---|---|---|---|
| 得点 / 配点 | 0 / 0 | 300 / 300 | ||||
| 結果 |
|
|
| セット名 | テストケース |
|---|---|
| Sample | sample_01.txt |
| All | hand_01.txt, hand_02.txt, hand_03.txt, sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt |
| ケース名 | 結果 | 実行時間 | メモリ |
|---|---|---|---|
| hand_01.txt | AC | 372 ms | 90796 KiB |
| hand_02.txt | AC | 369 ms | 90720 KiB |
| hand_03.txt | AC | 363 ms | 91196 KiB |
| sample_01.txt | AC | 58 ms | 76500 KiB |
| test_01.txt | AC | 57 ms | 76272 KiB |
| test_02.txt | AC | 393 ms | 90756 KiB |
| test_03.txt | AC | 396 ms | 90560 KiB |
| test_04.txt | AC | 396 ms | 91104 KiB |
| test_05.txt | AC | 368 ms | 90868 KiB |
| test_06.txt | AC | 367 ms | 90936 KiB |
| test_07.txt | AC | 374 ms | 91060 KiB |
| test_08.txt | AC | 374 ms | 91020 KiB |
| test_09.txt | AC | 366 ms | 90804 KiB |
| test_10.txt | AC | 357 ms | 83092 KiB |
| test_11.txt | AC | 357 ms | 83084 KiB |
| test_12.txt | AC | 351 ms | 83044 KiB |
| test_13.txt | AC | 354 ms | 82804 KiB |
| test_14.txt | AC | 390 ms | 91276 KiB |
| test_15.txt | AC | 369 ms | 90984 KiB |
| test_16.txt | AC | 390 ms | 90752 KiB |
| test_17.txt | AC | 386 ms | 91124 KiB |
| test_18.txt | AC | 370 ms | 90928 KiB |
| test_19.txt | AC | 391 ms | 90968 KiB |
| test_20.txt | AC | 378 ms | 90932 KiB |
| test_21.txt | AC | 388 ms | 90992 KiB |
| test_22.txt | AC | 385 ms | 91020 KiB |