//360笔试编程题
/*
题目描述:2.一年一度的跳水比赛又开始了,全国各地的运动员都纷纷报名参加了比赛。
在比赛之前,举办方让运动员抽签决定了比赛的出场顺序,运动员会根据这个顺序依次出场,完成自己的动作,然后裁判评分。
为了做好充分的准备和调整赛前心态,运动员希望了解其他运动员的实力,
希望知道在自己出场之前,有多少位运动员上赛季的得分是高于自己的。现在你是一位数据分析家,你可以告诉运动员他们的情况么?
*/
#if 0
#include<vector>
#include<map>
int main()
{
int num;
while(cin>>num)
{
vector<int>a(num);
for(int i = 0;i<num;i++)
{
cin>>a[i];
}
vector<int>b(num,0);
//map底层机制是红黑树,所有元素都会根据元素的键值自动被排序
// map<value,key>
map<int,int>ma;
map<int,int>::iterator it;
ma[a[0]] = 1; //实值
for(int i = 1;i<num;i++)
{
for(it = ma.begin();it!=ma.end();it++)
{
//键值相比较,每次都和所有的比较一次,
if(it->first >a[i])
b[i]+=it->second ;
}
ma[a[i]]++; //将每个实值都赋值为1
}
for(int i = 0;i<num;i++)
{
cout<<b[i]<<" ";
}
}
cout<<endl;
}
#endif