给出n(n<=100000)个数,每个数不超过100。按输入的顺序统计并输出每一个数前有多少个比它大的数。
输入格式
第一行:N
第二行:N个整数
输出格式
N个整数,各数这之间有空格
输入/输出例子1
输入:
5
3 1 4 2 5
输出:
0 1 0 2 0
样例解释
无
思路:
下标计数+枚举(不用可能会爆)
C++AC代码
#include<bits/stdc++.h>
using namespace std;
long long a,n,s,b[105];//long long是因为数据范围太大了,建议也用格式化输入输出
int main(){
scanf ("%d",&n);
for(int i=1; i<=n; i++)
{
s=0;
scanf ("%d",&a);
b[a]++;//下标计数
for(int j=a+1; j<=100; j++)
s += b[j];暴力枚举
printf ("%d ",s);
}
return 0;
}