描述
明显……交谊舞是2个人跳的,而且一男一女 -____-||||。
由于交谊舞之前的节目安排,所有的表演者都站成了一排。这一排人的顺序满足2点:
①对于一对舞伴男生站在女生的左边。
②任何一对舞伴之间,要么没有人,要么就有若干对舞伴。
排得过于整齐导致那些要表演交谊舞的人都没办法看到自己的舞伴,怎么办类…….
所幸的是,SDFZ的女生比男生聪明得多。她们知道自己左边有几个男生。
现在就请你再告诉这些女生,她们的舞伴距离她们多远(即包括那个男生,一共有多少男生夹在他们之间)。
格式
输入格式
第一行为一个数n,表示参与跳交谊舞的女生个数。
第二行n个数,从左到右表示这n个女生左边分别有多少个男生。
输出格式
一排n个数,行末无空格。表示n个女生与其舞伴的距离。
样例
样例1
输入:
4 5 6 6 6 6
1 1 1 4 5 6
样例1
//
// main.cpp
// 交际舞会
//
// Created by 张嘉韬 on 16/2/3.
// Copyright © 2016年 张嘉韬. All rights reserved.
//
#include <iostream>
#include <cstring>
#include <algorithm>
using namespace std;
const int maxn=20000;
int main(int argc, const char * argv[]) {
//freopen("/Users/zhangjiatao/Desktop/input.txt","r",stdin);
int sum,n,a[maxn],counter[maxn];
memset(counter,0,sizeof(counter));
cin>>n;
a[0]=0;
for(int i=1;i<=n;i++) cin>>a[i];
sort(a+0,a+n);
sum=0;
for(int i=1;i<=n;i++)
{
sum+=a[i]-a[i-1];
for(int j=1;j<=sum;j++)
{
counter[j]++;
}
cout<<counter[sum]<<" ";
counter[sum]=0;
sum--;
}
return 0;
}