CodeForces 1144C
链接 https://vjudge.net/problem/CodeForces-1144C
#include<bits/stdc++.h>
using namespace std;
int main() {
int n, num, size;
priority_queue<int, vector<int>, greater<int> > q; // 由小到大的优先队列
priority_queue<int> p; // 由大到小的优先队列
set<int> s;
set<int> s1;
scanf("%d", &n);
for(int i = ; i < n; i++) {
size = s.size(); //集合s的长度
scanf("%d", &num);
s.insert(num);
if(s.size() != size) { // 未出现重复的数字,将数字压入p队列
p.push(num);
} else { // 否则压入q队列 ,同时用set对q中的数字个数进行统计
q.push(num);
s1.insert(num);
}
}
size = s1.size() + p.size();
if(n == size) { // 如果两个队列的数的个数等于n,输出yes
printf("YES\n");
printf("%d\n", q.size());
if(q.size() != ) { // q不为0时,
printf("%d", q.top()); //top为输出顶栈数字
q.pop(); //删除顶栈
while(!q.empty()) { //当没删完的时候
printf(" %d", q.top()); //继续输出顶栈
q.pop();
}
}
printf("\n");
printf("%d\n", p.size());
if(p.size() != ) { // p不为0时
printf("%d", p.top()); //输出顶栈
p.pop(); //删除顶栈
while(!p.empty()) { //没删完的时候
printf(" %d", p.top()); //输出顶栈
p.pop(); //删除顶栈
}
}
} else { //如果不等于n,说明相同的数字出现三次以上
printf("NO");
}
return ;
}
/*给出一个数n,下一行给出n个数,在这个序列中要拆分成两个子序列,
一个是递增序列(不能出现相同的元素),一个是递减序列(不能出现相同的元素)。
如果能拆分出来,则输出YES和两个序列的大小和数值,不能的话输出NO。*/
CodeForces 1144C的更多相关文章
- CF550 DIV3
A - Diverse Strings CodeForces - 1144A A string is called diverse if it contains consecutive (adjace ...
- python爬虫学习(5) —— 扒一下codeforces题面
上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...
- 【Codeforces 738D】Sea Battle(贪心)
http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...
- 【Codeforces 738C】Road to Cinema
http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...
- 【Codeforces 738A】Interview with Oleg
http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...
- CodeForces - 662A Gambling Nim
http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...
- CodeForces - 274B Zero Tree
http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...
- CodeForces - 261B Maxim and Restaurant
http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...
- CodeForces - 696B Puzzles
http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...
随机推荐
- Debian 10 或Ubuntu 安装后启动黑屏解决办法
对于双显卡设备,很有可能是开源显卡驱动异常导致无法启动,在启动参数那一行加上 nouveau.modeset=0 禁用nouveau驱动即可进入系统
- [javascript] test() 方法进行正则验证
test() 方法用于检测一个字符串是否匹配某个模式 最近遇到的某业务中进行发票抬头的正则验证如下: console.log(/^[a-zA-Z\u4e00-\u9fa5\s()()<>& ...
- SAP S4HANA如何取到采购订单ITEM里的'条件'选项卡里的条件类型值?
SAP S4HANA如何取到采购订单ITEM里的'条件'选项卡里的条件类型值? 最近在准备一个采购订单行项目的增强的function spec.其中有一段逻辑是取到采购订单行项目条件里某个指定的条件类 ...
- yamlpy接口测试框架
1.思路: yamlpy即为yaml文件+pytest单元测试框架的缩写, 可以看作是一个脚手架工具, 可以快速生成项目的各个目录与文件, 只需维护一份或者多份yaml文件即可, 不需要大量写代码. ...
- 2020软件工程作业01 Deadline: 2020/03/07 20:00pm
1.建立博客 https://github.com/smithLIUandhisbaby 20177572 https://www.cnblogs.com/smith324/ 2.回顾——我的初心 对 ...
- JS的基本概念和数据类型
什么是 JavaScript 语言 Normal 0 7.8 磅 0 2 false false false EN-US ZH-CN X-NONE /* Style Definitions */ ta ...
- 洛谷P3719 [AHOI2017初中组]rexp
洛谷P3719 [AHOI2017初中组]rexp 题目背景 以下为不影响题意的简化版题目. 题目描述 给出一个由(,),|,a组成的序列,求化简后有多少个a. 化简规则: 1.形如aa...a|aa ...
- WebStorm 2019.3.1 永久破解
PS:动手能力强的来,手残的去淘宝买吧,大概15块钱1年.建议看完后在动手,有一个全局观,浪费不了多少时间 一. 下载破解补丁文件 链接:https://pan.baidu.com/s/16-rPPH ...
- FPGA分频与倍频的简单总结(涉及自己设计,调用时钟IP核,调用MMCM原语模块)
原理介绍 1.分频 FPGA设计中时钟分频是重要的基础知识,对于分频通常是利用计数器来实现想要的时钟频率,由此可知分频后的频率周期更大.一般而言实现偶数系数的分频在程序设计上较为容易,而奇数分频则相对 ...
- JavaScript中条件分支语句和循环语句的使用,用简洁的代码实现强大功能
if() else if() else() alert() 弹出警告框 prompt() 输入框,确定:返回输入信息:取消:返回null <!DOCTYPE html> <ht ...