問題一覧 > 通常問題

No.2372 既視感

レベル : / 実行時間制限 : 1ケース 2.000秒 / メモリ制限 : 512 MB / 標準ジャッジ問題
タグ : / 解いたユーザー数 152
作問者 : primenumber11primenumber11 / テスター : KowerKoint2010KowerKoint2010 Kanten4205Kanten4205 hibit_athibit_at warabi0906warabi0906 poyonpoyon
0 ProblemId : 8609 / 出題時の順位表 / 自分の提出
問題文最終更新日: 2023-07-07 10:08:26

問題文

りんたろう君はバーチャルコンテスト「あさかつ」によく参加しています。

あさかつでは AtCoder の過去問(以下、単に問題と表現します)から相異なる $6$ 問が毎回ランダムに出題されます。
問題はその問題名で区別され、問題 $P$ と問題 $P'$ は $P = P'$ である時、かつその時に限り、同じ問題です。
問題名は英小文字からなる文字列として与えられます。

りんたろう君はあさかつの問題を $1$ 番目の問題から順に、$60$ 分で可能な限り解きます。

  • より厳密には、$i \ (1 \leq i \leq 6)$ 番目の問題を解くのにかかる時間が $x_i$ 分である場合、
    $x_1 + x_2 + \cdots + x_k \leq 60$ を満たす最大の正整数 $k$ $(1 \leq k \leq 6)$ を取り、$k$ 番目の問題まで解きます。
    そのような $k$ が存在しない場合は $1$ 問も解きません。

ここで、りんたろう君は今まで解いた問題のうち、直近 $N$ 問の問題に「既視感」を持っています。
解くのにかかる時間が $d$ 分の問題 $P$ に既視感を持っている時、かつその時に限り、問題 $P$ を $\min(d, K)$ 分で解きます。
なお、「直近 $N$ 問の問題」の厳密な説明は後述します。

クエリが $Q$ 個与えられます。クエリは以下の $2$ 種類のいずれかです。

  • クエリ $1$: 問題 $s$ を解く。
  • クエリ $2$: あさかつに参加する。$i \ (1 \leq i \leq 6)$ 番目の問題は問題 $t_i$ であり、解くのにかかる時間は $d_i$ 分である。

$Q$ 個のクエリを以下の通りに処理してください。
また、クエリ $2$ が与えられる度に、りんたろう君がそのあさかつで解いた問題の個数を $1$ 行に出力してください。

  • $A$ を「今まで解いた問題を並べた配列」と定義して、その要素数を $M$ とします。はじめ $A$ は空です。
  • $i = 1, 2, \dots, Q$ の順に $i$ 番目のクエリを以下の手順で処理します。
    • クエリ $1$ の場合
      • $A$ の末尾に問題 $s$ を追加します。
    • クエリ $2$ の場合
      • $j = \max(1,M-N+1)$ とおき、$B = (A_j, A_{j+1}, \dots, A_M)$ としたとき($M = 0$ の場合、$B$ は空)、
        ある問題 $P$ が $B$ に含まれる時、かつその時に限り、りんたろう君は問題 $P$ に既視感を持っています。
      • そのクエリで与えられるあさかつの問題を $1$ 番目の問題から順に解きます。
      • あさかつ終了後に、そのあさかつで解いた問題全てを、解いた順に $A$ の末尾に追加します。

既視感の条件について、例えば $A = ($a, s, a, ka, tsu$)$ の場合は以下のようになります。

  • $N = 1$ の場合、$B = ($tsu$)$ です。
  • $N = 2$ の場合、$B = ($ka, tsu$)$ です。
  • $N = 3$ の場合、$B = ($a, ka, tsu$)$ です。
  • $N = 4$ の場合、$B = ($s, a, ka, tsu$)$ です。
  • $N = 5$ の場合、$B = ($a, s, a, ka, tsu$)$ です($N = 6, 7, \dots$ も同様)。

入力

$N$ $K$ $Q$
$\mathrm{Query}_1$
$\mathrm{Query}_2$
$\vdots$
$\mathrm{Query}_Q$
  • $i$ 番目のクエリ $\mathrm{Query}_i \ (1 \leq i \leq Q)$ は以下のいずれかの形式で与えられる。
    • $i$ 番目のクエリがクエリ $1$ のとき:
      $1$
      $s$
      
    • $i$ 番目のクエリがクエリ $2$ のとき:
      $2$
      $t_1$ $d_1$
      $t_2$ $d_2$
      $\vdots$
      $t_6$ $d_6$
      
  • 文字列以外の入力はすべて整数
  • $1 \leq N, Q \leq 500$
  • $1 \leq K \leq 100$
  • $1 \leq d_i \leq 100 \ (1 \leq i \leq 6)$
  • $s, t_1, t_2, \dots, t_6$ は英小文字からなる文字列
  • $1 \leq |s|, |t_i| \leq 10 \ (1 \leq i \leq 6)$
  • 各クエリ $2$ の $t_1, t_2, \dots, t_6$ は相異なる

出力

クエリ $2$ が与えられる度に、りんたろう君がそのあさかつで解いた問題の個数を $1$ 行に出力してください。

サンプル

サンプル1
入力
2 10 3
1
xor
1
and
2
bit 5
or 10
and 20
xor 25
rmq 25
hard 60
出力
5

andxorに既視感を持っているので、それぞれにかかる時間は $10$ 分で、 $1$ 問目から $5$ 問目まででちょうど $60$ 分で解きます。

サンプル2
入力
3 5 7
1
abc
1
solve
2
uuu 3
abc 15
solve 20
asakatsu 50
pura 70
contest 100
2
uuu 3
ddd 30
wok 50
kkk 60
woo 60
whooo 100
1
doo
1
woo
2
easy 1
normal 15
doo 40
woo 60
cant 100
solved 100
出力
3
2
4

$1$ つ目のあさかつにおいて、abcsolveはどちらも $5$ 分で解きますが、asakatsuを解く時間がなく、そのままあさかつが終わってしまいます。
$2$ つ目のあさかつにおいて、前のあさかつで解いたuuuに既視感を持っていますが、もともと $3$ 分で解くので変化はありません。
$3$ つ目のあさかつにおいて、doowooに既視感を持っていて、それぞれ $5$ 分で解くので最終的に $4$ 問解きます。

サンプル3
入力
100 1 3
1
i
1
joined
1
asakatsu
出力


            

りんたろう君はあさかつに一度も参加しなかったので、出力するものはありません。

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