混合双打
描述
小皮的学校乒乓球社团组织了一场男女混合双打的活动。混合双打需要一男一女两个人组合搭档参与。在活动开始前,所有的参与者都排成了一排,这一排人的顺序满足以下两点:
-
对于一对搭档,男生站在女生的左边。 -
任何一对搭档之间,要么没有人,要么就有若干对搭档。
由于排得过于整齐,导致那些参与活动的人没办法看到自己的搭档。学校社团的女生比男生细心一些,她们知道自己左边有几个男生。现在需要计算出每个女生的搭档距离她们有多远(即包括那个男生,一共有多少男生夹在她们之间)。
输入
-
第一行是一个整数n,表示参与混合双打的女生个数。 -
第二行有n个数,从左到右表示这n个女生左边分别有多少个男生。
输出
-
输出n个数,每行一个,表示n个女生与其搭档的距离。
输入样例 1
6
4 5 6 6 6 6
输出样例 1
1 1 1 4 5 6
提示
-
对于30%的评测用例,n ≤ 100。 -
对于60%的评测用例,n ≤ 1500。 -
对于100%的评测用例,n ≤ 100000。
这个问题的关键在于理解每个女生与其搭档之间的男生数量,这可以通过计算每个女生左边的男生数量和她们之间搭档的男生数量来实现。在编程实现时,需要注意处理大量数据的情况。