链接 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. HTML <link> 标签 PC移动网站适配

    1.在pc版网页上,添加指向对应移动版网址的特殊链接rel="alternate"标记,这有助于百度发现网站的移动版网页所在的位置: <link rel="cano ...

  2. DEVIL MAY CRY V:《鬼泣5》

    “又是一个带孝子的故事”

  3. JS 重载父页面

    <script language=javascript> window.onload=function(){ //刷新父页面 window.opener.location.reload() ...

  4. JS笔记之第二天

    一元运算符:++  -- 分为前++和后++ and 前--和后-- 如果++在后面,如:num++ +10参与运算,先参与运算,自身再加1 如果++在前面,如:++num+10参与运算,先自身加1, ...

  5. react引入ggEditor流程图

    遇到的问题 1.propsAPI获取不到内容:withPropsAPI包裹的组件必须是GGEditor的子组件. 2.自定义组件如何使用:正确的办法是通过config配置,参照上面的代码(之前我在在内 ...

  6. .net core 开发 Windows Forms 程序

    我是一名 ASP.NET 程序员,专注于 B/S 项目开发.累计文章阅读量超过一千万,我的博客主页地址:https://www.itsvse.com/blog_xzz.html 引言 .net cor ...

  7. lucas定理及其拓展的推导

    lucas定理及其拓展的推导 我的前一篇博客-- lucas定理 https://mp.csdn.net/mdeditor/100550317#主要是给出了lucas的结论和模板,不涉及推导. 本篇文 ...

  8. Python3标准库:heapq堆排序算法

    1. heapq堆排序算法 堆(heap)是一个树形数据结构,其中子节点与父节点有一种有序关系.二叉堆(binary heap)可以使用一个有组织的列表或数组表示,其中元素N的子元素位于2*N+1和2 ...

  9. Node.js---起步

    1.下载--安装 2.创建js文件 var http = require('http'); var url=require('url'); //引入url 模块,帮助解析 var querystrin ...

  10. 剑指offer-面试题46-把数字翻译成字符串-动态规划

    /* 题目: 给定一个数字,将0~25依次翻译为a~z,计算有多少种翻译方法. */ /* 思路: 动态规划法 */ #include<iostream> #include<cstr ...