CF706D.Vasiliy's Multiset

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

Author has gone out of the stories about Vasiliy, so here is just a formal task description.

You are given qq queries and a multiset AA , initially containing only integer 00 . There are three types of queries:

  1. "+ x" — add integer xx to multiset AA .
  2. "- x" — erase one occurrence of integer xx from multiset AA . It's guaranteed that at least one xx is present in the multiset AA before this query.
  3. "? x" — you are given integer xx and need to compute the value , i.e. the maximum value of bitwise exclusive OR (also know as XOR) of integer xx and some integer yy from the multiset AA .

Multiset is a set, where equal elements are allowed.

输入格式

The first line of the input contains a single integer qq ( 1<=q<=2000001<=q<=200000 ) — the number of queries Vasiliy has to perform.

Each of the following qq lines of the input contains one of three characters '+', '-' or '?' and an integer xix_{i} ( 1<=xi<=1091<=x_{i}<=10^{9} ). It's guaranteed that there is at least one query of the third type.

Note, that the integer 00 will always be present in the set AA .

输出格式

For each query of the type '?' print one integer — the maximum value of bitwise exclusive OR (XOR) of integer xix_{i} and some integer from the multiset AA .

输入输出样例

  • 输入#1

    10
    + 8
    + 9
    + 11
    + 6
    + 1
    ? 3
    - 8
    ? 3
    ? 8
    ? 11
    

    输出#1

    11
    10
    14
    13
    

说明/提示

After first five operations multiset AA contains integers 00 , 88 , 99 , 1111 , 66 and 11 .

The answer for the sixth query is integer — maximum among integers , , , and .

首页