链接 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的更多相关文章

  1. CF550 DIV3

    A - Diverse Strings CodeForces - 1144A A string is called diverse if it contains consecutive (adjace ...

  2. python爬虫学习(5) —— 扒一下codeforces题面

    上一次我们拿学校的URP做了个小小的demo.... 其实我们还可以把每个学生的证件照爬下来做成一个证件照校花校草评比 另外也可以写一个物理实验自动选课... 但是出于多种原因,,还是绕开这些敏感话题 ...

  3. 【Codeforces 738D】Sea Battle(贪心)

    http://codeforces.com/contest/738/problem/D Galya is playing one-dimensional Sea Battle on a 1 × n g ...

  4. 【Codeforces 738C】Road to Cinema

    http://codeforces.com/contest/738/problem/C Vasya is currently at a car rental service, and he wants ...

  5. 【Codeforces 738A】Interview with Oleg

    http://codeforces.com/contest/738/problem/A Polycarp has interviewed Oleg and has written the interv ...

  6. CodeForces - 662A Gambling Nim

    http://codeforces.com/problemset/problem/662/A 题目大意: 给定n(n <= 500000)张卡片,每张卡片的两个面都写有数字,每个面都有0.5的概 ...

  7. CodeForces - 274B Zero Tree

    http://codeforces.com/problemset/problem/274/B 题目大意: 给定你一颗树,每个点上有权值. 现在你每次取出这颗树的一颗子树(即点集和边集均是原图的子集的连 ...

  8. CodeForces - 261B Maxim and Restaurant

    http://codeforces.com/problemset/problem/261/B 题目大意:给定n个数a1-an(n<=50,ai<=50),随机打乱后,记Si=a1+a2+a ...

  9. CodeForces - 696B Puzzles

    http://codeforces.com/problemset/problem/696/B 题目大意: 这是一颗有n个点的树,你从根开始游走,每当你第一次到达一个点时,把这个点的权记为(你已经到过不 ...

随机推荐

  1. css实现表单label文字两端对齐

    如图,在我们写页面的时候,经常遇到这种的情况,而需求是想让label文字两端对齐,我们来看看如何用css解决 /**css代码**/ ul li{ list-style: none; } .info- ...

  2. pikachu-越权漏洞(Over Permission)

    一.越权漏洞概述 1.1 概述     由于没有用户权限进行严格的判断,导致低权限的账户(例如普通用户)可以去完成高权限账户(例如管理员账户)范围内的操作. 1.2 越权漏洞的分类 (1)平行越权   ...

  3. python提取图片内容并转换成对应表格的markdown代码

    本节我们将介绍使用python识别一张图片中的内容,并试着得到一张表格,当然并不是类似于Excel的表格,而是该表格的markdown代码. 注:原创内容,转载请标明出处! 相关工具的安装 本次实验环 ...

  4. java 关于xlsx(xls) 和 csv 文件的数据解析

    1.适用于xlsx 和 xls  <!--xlsx和xls文件pom依赖--> <dependency> <groupId>org.apache.poi</g ...

  5. BigDecimal精确计算工具类

    前言 在实际开发中,遇到例如货币,统计等商业计算的时候,一般需要采用java.math.BigDecimal类来进行精确计算.而这类操作通常都是可预知的,也就是通用的.所以,写了个工具类来方便以后的工 ...

  6. Sql Server 2008 【存储过程】 死锁 查询和杀死

    1 . 使用数据库中,可能出现死锁, 导致程序 无法正常使用. Create procedure [dbo].[sp_who_lock] ( @bKillPID Bit=0 -- 0: 查询 1: 结 ...

  7. 手动配置IP地址

    更改适配器属性 -> 选择一个网络,单击右键 -> 属性 -> Internet 协议版本 4 (TCP/IPv4)-> 属性 进入如下界面,开始配置: IP地址: IP地址用 ...

  8. java-重写

    重写有要求 1. 方法名:必须和父类被重写的方法名相同 2. 形参列表:必须和父类被重写的方法名相同 3. 返回值类型: A. 基本数据类型和void:要求与父类被重写的返回值数据类型一致 B. 引用 ...

  9. css背景颜色、背景图片,以及列表的多种样式

    背景样式 • background-color 设置元素的背景颜色.• background-image 把图像设置为背景.• background-position 设置背景图像的起始位置.• ba ...

  10. P1478 陶陶摘苹果(升级版)(sort(),时间优化,priority_queue)

    题目描述 又是一年秋季时,陶陶家的苹果树结了 n 个果子.陶陶又跑去摘苹果,这次他有一个 a 公分的椅子.当他手够不着时,他会站到椅子上再试试. 这次与 NOIp2005 普及组第一题不同的是:陶陶之 ...