AT_donuts_2015_3 题解

根据题意,发现我们要维护一个身高递减的序列。

因此,我们可以直接使用单调栈维护第 i 个人能看到的人数即可。

答案就是当前栈内的元素数量。

注意应先输出答案再将当前高度入栈。

#include<cstdio>
int n;
int h[100010];
int st[100010];
int top;
int main()
{
	scanf("%d",&n);
	for(int i=1;i<=n;i++)
	{
		scanf("%d",&h[i]);
		printf("%d\n",top);
		while(top>0&&st[top]<h[i]) top--;
		st[++top]=h[i];
	}
	return 0;
}
posted @   osfly  阅读(5)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示