本地能 AC,提交显示Runtime Error.Exit code is -1073741819 Program exited with code 5.
CF主站上显示Exit code is -1073741819
是怎么回事。
#include<bits/stdc++.h>
#define cit const register unsigned
#define open ios::sync_with_stdio(0),cin.tie(0),cout.tie(0)//,freopen("1.in","r",stdin),freopen("1.out","w",stdout)
#define int register unsigned
#define void inline void
using namespace std;constexpr unsigned N=2e5+1;
struct A{unsigned a,b,c;};vector<A>t;unsigned rt[N<<1],x;
#define ls(o) t[o].a
#define rs(o) t[o].b
#define s(o) t[o].c
#define ne(id) t.size(),t.emplace_back(t[id])
void ins(cit&pre,int&o,cit l,cit r){o=ne(pre);++s(o);if(l==r)return;
cit m=l+r>>1;x<=m?ins(ls(pre),ls(o),l,m):ins(rs(pre),rs(o),m+1,r);}
inline unsigned rnk(cit&a,cit&b,cit l,cit r){if(l==r)return 0;cit _=s(ls(b))-s(ls(a))
,m=l+r>>1;return x<=m?rnk(ls(a),ls(b),l,m):rnk(rs(a),rs(b),m+1,r)+_;}
signed a[N];set<signed>lsh;unordered_map<signed,unsigned>mp;unsigned id;
signed main(){open;int n,ans=0;cin>>n;t.emplace_back(A{0,0,0});
for(int i=1;i<=n;++i)cin>>a[i],lsh.emplace(a[i]);
for(const register signed i:lsh)mp[i]=++id;t.emplace_back(A{0,0,0});
for(int i=1;i<=n;++i)a[i]=mp[a[i]],ans+=(a[i]<a[i-1]);
for(int i=1;i<=n;++i)x=a[i],ins(rt[i-1],rt[i],1,id);
for(int i=1;i<=n;++i)rt[n+i]=rt[n];cout<<ans<<' ';
for(int len=2;len<n;++len){ans=0;
for(int l=2,r=l+len-1,p=1;l<=n;l=r+1,r=l+len-1,++p){
x=a[p];ans+=rnk(rt[l-1],rt[r],1,id);}cout<<ans<<' ';}
}