AT_abc306_c.[ABC306C] Centers
入门
通过率:0%
AC君温馨提醒
该题目为【atcoder】题库的题目,您提交的代码将被提交至atcoder进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
给定一个长度为 3N 的数列 A=(A1,A2,…,A3N),其中 1,2,…,N 每个数字恰好出现 3 次。
对于 i=1,2,…,N,定义 f(i) 为 A 中数字 i 出现的三个位置中间的那个位置的下标。请将 1,2,…,N 按照 f(i) 的升序重新排列并输出。
f(i) 的严格定义如下:
- 设 Aj=i 的所有 j 为 j=α,β,γ,且 α<β<γ,则 f(i)=β。
输入格式
输入以如下格式从标准输入给出。
N A1 A2 … A3N
输出格式
请输出将 1,2,…,N 按照 f(i) 的升序排列后得到的长度为 N 的数列,数之间用空格隔开。
输入输出样例
输入#1
3 1 1 3 2 3 2 2 3 1
输出#1
1 3 2
输入#2
1 1 1 1
输出#2
1
输入#3
4 2 3 4 3 4 1 3 1 1 4 2 2
输出#3
3 4 1 2
说明/提示
限制条件
- 1≤N≤105
- 1≤Aj≤N
- 对于每个 i=1,2,…,N,A 中的 i 恰好出现 3 次
- 所有输入均为整数
样例解释 1
- A 中 1 出现在 A1,A2,A9,因此 f(1)=2。
- A 中 2 出现在 A4,A6,A7,因此 f(2)=6。
- A 中 3 出现在 A3,A5,A8,因此 f(3)=5。
因此,f(1)<f(3)<f(2),所以输出顺序为 1,3,2。
由 ChatGPT 4.1 翻译
输入解题思路,AI测评打分。不知道怎么写?