代码:
```cpp
#include<bits/stdc++.h>
using namespace std;
const int MAXN=1e5;
int n,p[MAXN+5],ans;
int sum[MAXN+5];
int lowbit(int x)
{return x&-x;}
int GetSum(int x)
{
int cnt=0;
for(;x>0;x-=lowbit(x)) cnt+=sum[x];
return cnt;
}
int Plus(int x)
{for(;x<=n;x+=lowbit(x)) sum[x]++;}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;i++) scanf("%d",&p[i]);
Plus(p[n]);
for(int i=n-1;i;i--)
{
if(p[i]>p[i+1])
{
printf("%d\n",i);
for(int j=1;j<=i;j++)
{
printf("%d ",i-j+GetSum(p[j]));
Plus(p[j]);
}
return 0;
}
Plus(p[i]);
}
printf("0\n");
return 0;
}
```
by Seauy @ 2020-06-09 17:22:02
O2玄学
by 血色黄昏 @ 2020-06-09 17:28:04
有[UB](https://studyingfather.blog.luogu.org/undefined-behavior)
by liujiageng @ 2020-06-09 17:39:31
UB
by Ryo_Yamada @ 2020-06-09 17:44:55
~~代码厌氧~~
by LeavingZ @ 2020-06-09 17:52:34
soga……那树状数组要怎样不 UB 啊……
by Seauy @ 2020-07-05 18:18:59
@[QuantumCheshireCat](/user/54591)
```
int Plus()
```
没有 `return` 却写的 `int` 所以会 RE
($n$ 年后翻到这道题准备写一下的时候烤咕(雾))
by Ryo_Yamada @ 2020-09-13 15:55:24
@[BreezeEnder](/user/242543) ~~好神奇啊我跟我同学都写了没 return 的修改~~
by Seauy @ 2020-09-13 16:08:31