题目名称 1986. [USACO Mar09] 向右看齐
输入输出 lookup.in/out
难度等级 ★☆
时间限制 1000 ms (1 s)
内存限制 128 MiB
测试数据 12
题目来源 wangwenq 于2015-05-25加入修改该题
开放分组 全部用户
提交状态
分类标签
分享题解
通过:41, 提交:85, 通过率:48.24%
王宸 100 0.046 s 0.75 MiB C++
骆玉笙 100 0.064 s 0.98 MiB C++
mcl 100 0.089 s 11.73 MiB C++
赵雪松 100 0.090 s 4.51 MiB C++
张天翔 100 0.090 s 11.73 MiB C++
杨筠松 100 0.095 s 25.10 MiB C++
程 100 0.096 s 0.75 MiB C++
张瀚文 100 0.098 s 11.73 MiB C++
刘润达 100 0.103 s 15.55 MiB C++
hsez_lhx 100 0.108 s 12.90 MiB C++
本题关联比赛
近期练习题回顾
关于 向右看齐 的近10条评论(全部评论)
简单暴力加优化
Oasiz
2019-09-19 20:32 7楼
反序处理+单调队列+二分查找- -
FoolMike
2016-05-21 22:08 6楼
可以用导弹拦截的思路
Twist Fate
2016-02-17 15:42 5楼
STL真慢
Satoshi
2015-05-29 12:44 4楼
我是sb
ztx
2015-05-29 08:53 3楼
@qing
你好像没用文件输入输出……
cstdio
2015-05-28 07:49 2楼
回复 @cstdio :
大神已经修正好了 谢谢哦!
qing
2015-05-27 14:21 1楼

1986. [USACO Mar09] 向右看齐

★☆   输入文件:lookup.in   输出文件:lookup.out   简单对比
时间限制:1 s   内存限制:128 MiB

【题目描述】


$N$ 头奶牛被紧急动员起来了,它们排成了一条长列。从左向右看,排在第$i$个位置的奶牛身高为$H_i$。约翰一声令下,所有奶牛向右看齐。假设每头奶牛只能看到比自己高的牛。请问它们各自看到的最近的一头奶牛分别是谁呢?


【输入格式】


第一行:单个整数$N,1 ≤ N ≤ 10^6$

第二行到$N + 1$ 行:第$i + 1$ 行有一个整数$H_i,1 ≤ H_i ≤ 10^6$


【输出格式】


第一行到第$N$ 行:第$i$ 行有一个整数$C_i$,表示第$i$ 头奶牛向右看到的最近的一头奶牛编号,如果看不到任何奶牛,$C_i=0$


【样例输入】

6 3 2 6 1 1 2

【样例输出】

3 3 0 6 6 0

【来源】

USACO Mar09