duidie

    科技2022-08-27  134

    在这里插入代码片 #include<iostream> #include<cstdio> #include<algorithm> using namespace std; typedef struct ha { int num;//编号 int maxi;int mini; int val; }haha; bool cmp(haha a1,haha b1) { return a1.num<b1.num; } haha a[100001]; int main() { int n,i,j; haha temp; scanf("%d",&n); for(i=0;i<n;i++) { scanf("%d",&a[i].val); a[i].num=i;a[i].maxi=a[i].num;a[i].mini=a[i].num; } for(i=0;i<n;i++) { for(j=n-1;j>i;j--)//每一轮的冒泡操作 { if(a[j-1].val>a[j].val) { a[j].mini=j-1;a[j-1].maxi=j; temp=a[j];a[j]=a[j-1];a[j-1]=temp; } } } sort(a,a+n,cmp); for(i=0;i<n;i++) { if(i==0) { printf("%d",a[i].maxi-a[i].mini); } else printf(" %d",a[i].maxi-a[i].mini);//之后再交一次中间空格版 } return 0; }
    Processed: 0.013, SQL: 9