CF780A Andryusha and Socks
题目描述
Andryusha 是一个有条理的男孩,喜欢把东西放在它们该在的位置。
今天他遇到了一个把袜子放进衣柜的问题。他有 $n$ 双不同的袜子,这些袜子一开始都在一个袋子里。这些袜子按照从 $1$ 到 $n$ 编号。Andryusha 想要将相同的一对袜子配好,然后一起放进衣柜。他会一次从袋子里拿出一只袜子,并且他每次都会看看这只袜子的另一只是否已经被他拿出来了。如果没有(也就是这只袜子的配对袜还在袋子里),他就把当前的袜子放在他面前的桌子上。如果已经拿出来了,则他将这一对袜子一起放进衣柜。
Andryusha 记得他拿出袜子的顺序。你能告诉他,桌子上最多同时出现过多少只袜子吗?
输入格式
第一行包含一个整数 $n$($1 \leq n \leq 10^{5}$),表示袜子的对数。
第二行包含 $2n$ 个整数 $x_{1}, x_{2}, ..., x_{2n}$($1 \leq x_i \leq n$),表示 Andryusha 拿出袜子的顺序。具体来说,$x_i$ 表示第 $i$ 次拿出来的袜子属于第 $x_i$ 对。
保证每一对袜子的两只都被拿出过,且正好各出现一次。
输出格式
输出一个整数,表示桌子上最多同时有多少只袜子。
说明/提示
在第一个样例中,Andryusha 先拿出了第一对的第一只袜子并放在桌子上,然后又拿出了第一对的第二只袜子,于是立即把这对袜子放进柜子里。因此,桌子上最多同时有过一只袜子。
在第二个样例中,Andryusha 的行为如下:
- 一开始桌子是空的,他拿出了第二对的第一只袜子,放在了桌子上。
- 桌子上有了袜子 $(2)$。Andryusha 又拿出了第一对的第一只袜子,也放在桌子上。
- 桌子上有袜子 $(1, 2)$。他再拿出第一对的第二只袜子,这一对放进衣柜。
- 桌子上剩下袜子 $(2)$。接着他拿出第三对的第一只袜子,放在桌子上。
- 桌子上有袜子 $(2, 3)$。他再拿出第二对的第二只袜子,这一对也放进衣柜。
- 桌子上剩下袜子 $(3)$。最后他拿出第三对的第二只袜子,这一对也立即放进衣柜。
因此,桌子上最多同时出现过两只袜子。
由 ChatGPT 5 翻译