接頭辞ベースのデータベース (Prefix Based Database)

最初は空のデータベースが与えられ、これに対して一連のクエリを処理する必要があります。クエリには「Add」と「Search」の2種類があり、「Add」クエリでは名前をデータベースに追加し、「Search」クエリでは指定した接頭辞(prefix)で始まるデータベース内の名前を、辞書順で出力するよう要求されます。ただし、その接頭辞に一致する名前が20件を超える場合は、先頭の20件だけを表示してください。

入力

入力の最初の行には整数 q (1 ≤ q ≤ 200 000) が与えられ、これはクエリの数を意味します。続く q 行には、それぞれ以下の形式でクエリが含まれます:
  • 「Add」クエリ: add s (ここで s はデータベースに追加する名前)
  • 「Search」クエリ: search p (ここで p は検索する接頭辞)
クエリに使用される文字列の長さは、いずれも20文字を超えません。

出力

「Search」クエリが与えられるたびに、指定した接頭辞で始まるデータベース内の名前を、スペース区切りで出力してください。該当する名前が20件を超える場合は、先頭の20個のみを出力してください。

入力
出力
9 add cat add code add core search co add profound add found search fo add fight search f
code core found fight found
 

Constraints

Time limit: 6 seconds

Memory limit: 512 MB

Output limit: 15 MB

To check your solution you need to sign in
Sign in to continue