问题1028--【一维数组】(学习对象(learn.pas/cpp))

1028: 【一维数组】(学习对象(learn.pas/cpp))

时间限制: 1 Sec  内存限制: 128 MB
提交: 2  解决: 1
[提交] [状态] [讨论版] [命题人:]

题目描述

n 个信息学选手站在一排,每个选手的位置依次用 1~n 表示,第 i 个信息学选手的编程能力用一个整数 H i 表示。每个信息学选手都希望找一个编程能力比自己高但又与自己编程能力最接近的选手学习,如果有多个符合条件的选手则选择位置在最前面的选手学习。请编程输出每位选手学习对象的位置,如果没有学习对象,则输出 0

输入

1 行一个正整数 n1≤n≤1000

2~n+1 行共 n 个正整数,依次表示每位选手的编程能力,1≤H i ≤1000000

输出

n 行,每行输出一个整数表示每个选手学习对象的位置。

样例输入 Copy

6
3
2
6
1
1
2

样例输出 Copy

3
1
0
2
2
1

提示

i个选手的学习对象就是从前往后查找一个选手j,要求Hi<HjHj要尽可能小(打擂台),如果j可以取多个值,则选取最小的值(保留前面)。

来源/分类