logo AlgoBeat OnlineJudge
登录 注册

#216359. [蓝桥杯 2026 省 Java C 组] 小蓝的序列

内存限制:512 MiB 时间限制:3000 ms 标准输入输出
题目类型:VJudge(洛谷) 评测方式:VJudge
上传者: 匿名

题目描述

小蓝认为,一个序列是“好的”,当且仅当它满足以下条件:

  1. 序列中恰好只出现两种不同的整数;
  2. 任意一对相邻元素都不相同;
  3. 对所有合法的下标 ),都有

等价地说,一个好的序列一定形如

其中 ,且整个序列中只出现这两个数。

现在,小蓝有一个长度为 的序列,他可以进行任意次修改操作。每次操作可以将序列中的一个元素改成任意正整数。

小蓝想知道:至少需要修改多少个元素,才能将当前序列变成一个好的序列?

输入格式

输入共两行。

第一行包含一个正整数 ,表示序列长度。

第二行包含 个正整数 ,表示小蓝当前的序列。

输出格式

输出一行,包含一个非负整数 ,表示至少需要修改 个元素,才能使该序列变成一个好的序列。

样例

样例输入 1

5
1 1 1 1 2

样例输出 1

2

数据范围与提示

【样例说明】

一种最优方案是将第 个和第 个数改为 ,此时序列变为:

这是一个好的序列。可以验证,不存在只修改 个元素就能满足条件的方案,因此答案为

【评测用例规模与约定】

  • 对于 的评测用例,
  • 另有 的评测用例满足:对所有 ,都有
  • 对于所有评测用例,,且