問題一覧 > 通常問題

No.2421 entersys?

レベル : / 実行時間制限 : 1ケース 3.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 76
作問者 : dyktr_06dyktr_06 / テスター : 👑 Nafmo2Nafmo2 LaFolia13LaFolia13 hikikomorihikikomori sepa38sepa38 Seed57_cashSeed57_cash UdonUdon ryota2357ryota2357
0 ProblemId : 9704 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-10-27 17:26:30

問題文

MMA の部室では、entersys というシステムを用いて入退室の管理を行なっています。

entersys によると、今までに判明している情報で少なくとも $N$ 回の入退室が行われており、部員 ID が $X_i$ の部員は、時刻 $L_i -0.1$ から $R_i + 0.1$ の間まで部室にいたという情報が与えられています。

$Q$ 個のクエリが与えられるため順番に処理してください。

クエリは次の $3$ 種類のいずれかです。

  • 1 x t: 与えられた情報をもとに、部員 ID が $x$ の部員が時刻 $t$ の時点で部室にいることが判明しているならば Yes、いないならば No と出力する。
  • 2 t: 与えられた情報をもとに、時刻 $t$ に入室していることが判明している部員の人数を出力する。
  • 3 x l r: 部員 ID が $x$ の部員は、時刻 $l - 0.1$ から $r + 0.1$ の間まで部室にいたという情報が新たに与えられる。

なお、同じ部員 ID の情報について、与えられた情報と時刻が重なるような情報は与えられません。


制約

  • $1 \leq N, Q \leq 10^{5}$
  • $X_i$ は長さ $5$ 以下の英小文字からなる文字列
  • $1 \leq L_i \leq R_i \leq 10^{9}$
  • $x$ は長さ $5$ 以下の英小文字からなる文字列
  • $1 \leq t \leq 10^{9}$
  • $1 \leq l \leq r \leq 10^{9}$
  • ある部員 ID の情報について、与えられた情報と時刻が重なるような情報は与えられない。
  • $N, L_i, R_i, Q, t, l, r$ は整数である。

入力

入力は以下の形式で標準入力から与えられる。

$N$   
$X_1$ $L_1$ $R_1$  
$X_2$ $L_2$ $R_2$  
$\vdots$

$X_N$ $L_N$ $R_N$  
$Q$  
query $1$  
query $2$  
$\vdots$

query $Q$   

各クエリは以下に示す $3$ つの形式のいずれかが与えられる。

$1$ $x$ $t$
$2$ $t$
$3$ $x$ $l$ $r$

出力

$1, 2$ のクエリの個数を $q$ として、$q$ 行出力せよ。
$j$ $(1 \leq j \leq q)$ 行目では $j$ 番目のそのようなクエリに対する答えを出力せよ。

サンプル

サンプル1
入力
5
dyktr 6 15
nafmo 1 20
sepa 11 20
mma 2 6
mma 12 14
5
1 dyktr 5
1 dyktr 6
2 15
3 ryota 3 18
2 15
出力
No
Yes
3
4

$1, 2$ 番目のクエリについて、今までに与えられた情報によると、部員 ID が dyktr であるような部員が部室にいることが判明している時刻は $5.9$ から $15.1$ となります。

$3$ 番目のクエリについて、今までに与えられた情報によると、時刻が $15$ のときに部室にいることが判明している部員は $3$ 人で、それぞれの部員 ID は dyktr, nafmo, sepa です。

$5$ 番目のクエリについて、今までに与えられた情報によると、時刻が $15$ のときに部室にいることが判明している部員は $4$ 人で、それぞれの部員 ID は dyktr, nafmo, sepa, ryota です。

提出するには、Twitter 、GitHub、 Googleもしくは右上の雲マークをクリックしてアカウントを作成してください。