博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Codeforces 911E - Stack Sorting
阅读量:6277 次
发布时间:2019-06-22

本文共 832 字,大约阅读时间需要 2 分钟。

思路:

用栈来模拟,能pop就pop,记下一个需要pop的数为temp,那么如果栈非空,栈顶肯定大于temp,那么加入栈 栈顶值-1 到 temp 的值,否则加入栈 n 到 temp 的值,如果需要加入的数之前已经出现过,答案则不存在。

代码:

#include
using namespace std;#define ll long long#define pb push_back#define meme(a,b) memset(a,b,sizeof(a))const int N=2e5+5;bool vis[N];int a[N];stack
s;int main(){ ios::sync_with_stdio(false); cin.tie(0); int n,k; cin>>n>>k; int temp=1; for(int i=1;i<=k;i++){ cin>>a[i]; vis[a[i]]=true; s.push(a[i]); while(s.size()&&s.top()==temp){ s.pop(); temp++; } } while(s.size()&&s.top()>temp||n+1>temp){ int t; if(s.size())t=s.top(); else t=n+1; for(int i=t-1;i>=temp;i--){ if(vis[i]){ cout<<-1<

 

转载于:https://www.cnblogs.com/widsom/p/8352810.html

你可能感兴趣的文章
Bash : 索引数组
查看>>
[WPF学习资料] WPF简介
查看>>
Spring + SpringMVC + Druid + MyBatis 给你一个灵活的后端解决方案
查看>>
Linux系统安装VMware Tools
查看>>
asp.net 页面右下角弹出类似QQ或MSN的消息提示
查看>>
游戏开发经常使用算法概述
查看>>
EDM制作要点
查看>>
爆牙齿的Web标准面试考题II(iPhone SMS/iChat UI的Web标准实现)
查看>>
XMOVE3.0手持终端——软件介绍(二):在2KB内存的单片机上实现的彩屏GUI控件库
查看>>
MVC系列——MVC源码学习:打造自己的MVC框架(三:自定义路由规则)
查看>>
找小于N 的所有质数
查看>>
Windows下的Jupyter Notebook 的介绍(写给新手)(图文详解)
查看>>
iOS开发-CocoaPods实战
查看>>
JS组件系列——Bootstrap 树控件使用经验分享
查看>>
HTML-color:rgb()-颜色渐进
查看>>
数据库实例: STOREBOOK > 表空间 > 编辑 表空间: UNDOTBS1
查看>>
Mcad学习笔记之异步编程(AsyncCallback委托,IAsyncResult接口,BeginInvoke方法,EndInvoke方法的使用小总结)...
查看>>
Javascript防冒泡事件与Event对象
查看>>
1.LinQ初体验 简单的示例(原创)
查看>>
Docker容器学习梳理--Volume数据卷使用
查看>>