HM227 重复安检

HM227 重复安检

HM227 重复安检

来源: 第 227 集 set容器-set和multiset区别

难度: 普及-

时间限制: 1s

空间限制: 64MB

题目描述

setmultiset 头文件相同、接口几乎一样,差别在于是否允许重复。

set::insert 的返回值是对组 pairfirst 是迭代器,指向插入位置(或已有的那个相等元素);secondbool,为真表示插入成功,为假表示因重复而失败。要看成败,取 ret.second

multiset::insert 只返回迭代器,不做重复检测:只要类型匹配就插进去。因此同一个数可以插很多次,遍历时会全部出现。

需要去重时选 set,需要保留重复时选 multiset

把输入序列依次插入一个 set 和一个 multiset。每一次对 set 的插入都要接收返回的对组,并根据 second 报告成功或失败。multiset 只插入、不判断成败。最后按各自迭代器打印两个容器。

输入格式

第一行一个整数 \(n\)。

第二行 \(n\) 个整数,按给定顺序插入。当 \(n=0\) 时本行可以是空行。

输出格式

先输出 \(n\) 行:第 \(i\) 次向 set 插入的结果,成功为 SUCCESS,失败为 FAIL

然后一行:set 中的全部元素(升序、去重)。

最后一行:multiset 中的全部元素(升序、保留重复)。

空容器对应的那一行只输出换行。

样例

输入 #1

2
10 10

输出 #1

SUCCESS
FAIL
10
10 10

输入 #2

4
10 20 10 10

输出 #2

SUCCESS
SUCCESS
FAIL
FAIL
10 20
10 10 10 20

说明

\(0 \le n \le 1000\),元素绝对值不超过 \(10^9\)。

必须用 insert 的返回对组判断 set 的成败,不要自己先 find 再决定是否插入。multisetinsert 没有这份成败标记。

信息

ID
1226
难度
(无)
分类
(无)
标签
(无)
递交数
0
已通过
0
通过率
?
上传者