博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
单调栈入门题(站队问题)
阅读量:3968 次
发布时间:2019-05-24

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

在这里插入图片描述

#include
#include
#include
#include
using namespace std;const int N = 1e5 + 5;const int inf = 1e9;int s[N], top;int a[N], ans[N];int main(){
int n; scanf_s("%d", &n); for (int i = 1; i <= n + 1; ++i) scanf_s("%d", a + i); a[0] = inf; a[n + 1] = inf; for (int i = 1; i <= n + 1; ++i) if (a[i] < a[s[top]]) s[++top] = i; else {
while (a[i] > a[s[top]]) {
ans[s[top]] = i - s[top] - 1; top--; } s[++top] = i; } for (int i = 1; i <= n; ++i) printf("%d", ans[i]); puts("");}

转载地址:http://mpcki.baihongyu.com/

你可能感兴趣的文章
异常处理
查看>>
存储过程
查看>>
动态SQL(Dynamic SQL)
查看>>
在存储过程之间传递数据
查看>>
迁移存储过程
查看>>
GET DIAGNOSTIC 语句
查看>>
Python 简介
查看>>
Python 注释
查看>>
Python 变量
查看>>
Python 数据类型 -- 数字
查看>>
Spring 管理对象
查看>>
Spring 自定义对象初始化及销毁
查看>>
Spring Batch 环境设置
查看>>
字符组转译序列
查看>>
字符转译序列
查看>>
Java 数据类型
查看>>
UTF-16 编码简介
查看>>
Java 变量名
查看>>
Java 四舍五入运算
查看>>
Spring Batch 例子: 运行系统命令
查看>>