欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF291A.Spyke Talks
Spyke Talks
题目描述
Polycarpus 是一家大型公司的主管。公司里有 名秘书,他们在白天都会通过著名的 Spyke VoIP 系统进行通信。我们知道,当两个人通过 Spyke 通话时,Spyke 网络会为这次通话分配一个唯一的 ID,也就是一个正整数的会话号。
有一天,Polycarpus 想知道哪些秘书正在使用 Spyke 通话,哪些没有。对于每位秘书,他写下了该秘书通话的会话号,如果该秘书当时没有通过 Spyke 通话,则记为 。
请你帮助 Polycarpus 分析这些数据,计算有多少对秘书正在通话。如果数据记录有误(即描述的情形无法发生),请输出 表示出错。
注意,秘书不仅可以和彼此用 Spyke 联系,还可以和其他地方的人通话。此外,不允许使用 Spyke 进行会议通话——也就是说,一次通话只能连接两个人。
输入格式
第一行包含一个整数 (),表示 Polycarpus 公司里的秘书数量。
第二行包含 个用空格分隔的整数 ()。其中 表示第 位秘书当前通话的会话号,如果该秘书没有通话,则为 。
秘书的编号从 到 。
输出格式
输出一个整数,表示正在通话的秘书对数。如果 Polycarpus 的记录有误,且数据无法符合题目描述,输出 。
说明/提示
在第一个样例中,有两对秘书通过 Spyke 通话:第 2 位与第 4 位,第 3 位与第 5 位。
在第二个样例中,该情形是不可能的,因为不允许会议通话。
由 ChatGPT 5 翻译
样例
6
0 1 7 1 7 10
2
3
1 1 1
-1
1
0
0
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |