问题标题: 酷町堂:5567

0
0

0
已采纳
汪宇航
汪宇航
新手启示者
新手启示者

用桶,每次输入数时桶[数]++,**从1遍历到此数(j),判断桶[j]是否大于0,是则cnt++,j循环结束后输出cnt

0
陈曦
陈曦
资深天翼
资深天翼

@汪宇航 

#include<iostream>
using namespace std;
int n,a[450],b[150000],k; 
int main(){
    cin>>n;
    for(int i=1;i<=n;i++){
        cin>>a[i];
        b[a[i]]++;
        k=0;
        for(int j=400;j>a[i];j--){
            if(b[j]){
                k+=b[j];
            }
        }
        cout<<k<<' ';
    }
    return 0;
}

是这么写吗

0
王文博
王文博
缔造者之神
缔造者之神

核心:

for(int i=1;i<=n;i++)
    {
        int cnt=0;
        scanf("%d",&a[i]);
        for(int j=1;j<=i-1;j++)
        {
            if(a[j]>a[i]) cnt++;
        }
        p**ntf("%d ",cnt);
    }

 

我要回答