欢迎来到起遇信息学
起遇信息学正处于上线筹建阶段,以下功能已全部开放免费体验: ✅ 完整题库浏览与代码提交评测(C / C++ / Python / Java 等) ✅ 入门到进阶的系列课程试读、作业与考试 ✅ AI 提示、AI 作业分析等智能助教功能 ✅ 赛事模拟与个人能力报告 ✅ 邮箱注册开放 ⏳ 付费课程订阅与微信/支付宝支付通道 ⏳ 手机号登录,微信扫码登录、微信公众号绑定 使用中如遇任何问题,欢迎通过页面底部 **"联系我们"** 与我们沟通。
CF1144C.Two Shuffled Sequences
Two Shuffled Sequences
题目描述
最初存在两个整数序列——其中一个是严格递增的,另一个是严格递减的。
严格递增序列是一个整数序列 。严格递减序列是一个整数序列 。注意,空序列和只包含一个元素的序列也可以被视为递增或递减序列。
它们被合并成了一个序列 。之后,序列 被打乱了。例如,对于递增序列 和递减序列 ,可能得到的序列 有 或 等。
现在给定打乱后的序列 。
你的任务是找出任意一组符合要求的初始序列。其中一个应为严格递增序列,另一个应为严格递减序列。注意,空序列和只包含一个元素的序列也可以被视为递增或递减序列。
如果输入存在矛盾,无法将给定序列 拆分为递增和递减两个序列,则输出 "NO"。
输入格式
输入的第一行包含一个整数 (),表示序列 的元素个数。
第二行包含 个整数 (),其中 是序列 的第 个元素。
输出格式
如果输入存在矛盾,无法将给定序列 拆分为递增和递减两个序列,则第一行输出 "NO"。
否则,第一行输出 "YES",并输出任意一组符合要求的序列。注意,空序列和只包含一个元素的序列也可以被视为递增或递减序列。
第二行输出 ,表示严格递增序列的元素个数。 可以为零,此时递增序列为空。
第三行输出 个整数 ,按递增顺序排列(),即严格递增序列本身。如果 ,可以输出空行。
第四行输出 ,表示严格递减序列的元素个数。 可以为零,此时递减序列为空。
第五行输出 个整数 ,按递减顺序排列(),即严格递减序列本身。如果 ,可以输出空行。
要求 ,且输出的两个序列的并集应为给定序列的一个排列(在输出 "YES" 的情况下)。
说明/提示
由 ChatGPT 4.1 翻译
样例
7
7 2 7 3 3 1 4
YES
2
3 7
5
7 4 3 2 1
5
4 3 1 5 3
YES
1
3
4
5 4 3 1
5
1 1 2 1 2
NO
5
0 1 2 3 4
YES
0
5
4 3 2 1 0
在线编程 IDE
建议全屏模式获得最佳体验
| 进入全屏编程 | Alt+E |
| 递交评测 | Ctrl+Enter |
| 注释/取消注释 | Ctrl+/ |
| 缩放字体 | Ctrl+滚轮 |