結果
問題 | No.2796 Small Matryoshka |
ユーザー |
![]() |
提出日時 | 2024-06-30 17:24:48 |
言語 | PyPy3 (7.3.15) |
結果 |
AC
|
実行時間 | 531 ms / 2,000 ms |
コード長 | 907 bytes |
コンパイル時間 | 154 ms |
コンパイル使用メモリ | 82,356 KB |
実行使用メモリ | 168,436 KB |
最終ジャッジ日時 | 2024-06-30 17:24:54 |
合計ジャッジ時間 | 6,819 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 19 |
ソースコード
import sysinput = sys.stdin.readlinefrom bisect import *from copy import deepcopydef compress(lst):'''B: lstを座圧したリストidx_to_val: indexから元の値を取得するリストval_to_idx: 元の値からindexを取得する辞書'''B = []val_to_idx = {}idx_to_val = deepcopy(lst)idx_to_val = list(set(idx_to_val))idx_to_val.sort()for i in range(len(lst)):ind = bisect_left(idx_to_val, lst[i])B.append(ind)for i in range(len(B)):val_to_idx[lst[i]] = B[i]return B, idx_to_val, val_to_idxN = int(input())L, R = [-1] * N, [-1] * Nfor i in range(N):L[i], R[i] = map(int, input().split())M = 2 * N + 5A, iv, vi = compress(L + R)D = [0] * Mfor l, r in zip(L, R):l, r = vi[l], vi[r]D[l] += 1D[r] -= 1for i in range(M - 1):D[i + 1] += D[i]print(max(D) - 1)