hm 与 zx 的故事系列1

原创 2013年12月01日 22:58:50

Description

想当年 hm 家族还没从大象家族分离出来的时候,zx妹妹还在蚂蚁窝。 话说当年大象踩了蚂蚁窝,成千上万的蚂蚁要与这只大象决战,所谓当时的战斗可想而知多不激烈。 往往世事难料, 蚂蚁想出了一招:把所有蚂蚁排成一队,每个蚂蚁都有一定的功力,然后每个蚂蚁都能从后面最近的比他功力大的 蚂蚁那里得到能量这个时候他能释放的能量就是那头蚂蚁的能量。如果没有相应的蚂蚁释放的能量为0 问最后每头蚂蚁释放的能量为多少?

Input

第一行包含的是 n (1<=n<=1000000) 表示蚂蚁头数 后面n行每行一个数 xi(0<=xi<=10^9) 表示当前队列中第i号蚂蚁的能量。

Output

n行每行一个数表示每只蚂蚁所能释放的能量

Sample Input

5 1 2 3 4 5 5 5 4 3 2 1

Sample Output

2 3 4 5 0 0 0 0 0 0 题解:就是要输出一组序列中比当前最先大的数


#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <iostream>
#include <cmath>
#include <algorithm>
#include <stack>
using namespace std;
int a[1000010];
int b[1000010];
int main()
{
	int n,i;
	while (~scanf("%d",&n))
	{
		for (i=0;i<n;i++)
		{
			scanf("%d",&a[i]);
			b[i]=0;
		}
		stack <int>q;
		stack <int>q1;
		q1.push(0);
		q.push(a[0]);
		int t=0;
		for (i=1;i<n;i++)
		{
			int k=q.top();
			if (a[i]>k)
				while (!q.empty() && q.top()<a[i])
				{
					b[q1.top()]=a[i];
					q1.pop();
					q.pop();
				}
			q1.push(i);
			q.push(a[i]);
		}
		for (i=0;i<n;i++)
			printf("%d\n",b[i]);
	} 
	return 0;
}





                    

相关文章推荐

状态压缩(1) Hdu 4539 郑厂长系列故事——排兵布阵

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4539  郑厂长系列故事——排兵布阵 Time Limit: 10000/5000 MS (Java...

HM-020 局域网技术概述(1).ppt

  • 2009年11月28日 14:20
  • 6.77MB
  • 下载

hevc移植/优化-day 1:用c6x工具链编译HM4

安装好编译环境(c6x工具链,本文使用v6.1.14版本)后,首先下载源码: svn co https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/t...

HM1 USB 驱动

  • 2014年06月09日 10:25
  • 8.27MB
  • 下载

HM-13.0rc1 官方原版

  • 2014年01月27日 21:59
  • 2.96MB
  • 下载

HM学习心得1

前段时间看了好几十关于HEVC基础知识与帧内快速算法的文章,最近终于开始学习HM代码。在网络上查找资料与师兄的指导下,开始了HM代码学习之旅。现在将自己的学习过程给记一下,主要是为了以后回顾。首先开始...

HM学习心得1

前段时间看了好几十关于HEVC基础知识与帧内
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:hm 与 zx 的故事系列1
举报原因:
原因补充:

(最多只允许输入30个字)