#CJM09C. [J模9] 集合(set)

[J模9] 集合(set)

题目描述

小 C 有一个集合 SS,最开始 S={0}S=\{0\}。

现在有两种操作,分别如下:

  • + x,将 S←S∪{x}S\leftarrow S\cup\{x\},即将元素 xx 加入集合 SS 中。(一个元素可能会被加入多次)
  • ? k,求出最小的整数 t×k(t≥0)t\times k(t\ge0),满足 t×k∉St\times k\notin S。

现在小 C 给了你 qq 次命令,每次命令为两种操作中的一种,你需要对于所有的询问操作给出答案。

输入格式

输入的第一行包含一个整数 qq。

接下来 qq 行,每行包含一次命令,格式见题目描述。

输出格式

输出包含若干行,每行输出一个整数,表示当前询问操作的答案。

5
+ 7
+ 4
? 3
+ 1
? 2
3
2
6
+ 100
? 100
+ 200
? 100
+ 50
? 50
200
300
150

数据范围

  • 对于 30%30\% 的数据,保证 q≤500q \le 500。
  • 对于另 30%30\% 的数据,保证 qq 次命令中询问次数不超过 10001000 种。
  • 对于 100%100\% 的数据,保证 1≤q≤1051 \le q \le 10^{5},1≤x≤1091\le x\le 10^9,1≤k≤1091\le k\le 10^9。
难度 未评定
通过率 —
尝试 0
通过 0
ID
3836
类型
传统题
Time Limit
1000ms
Memory Limit
256MiB
上传者