提交记录 6074


用户 题目 状态 得分 用时 内存 语言 代码长度
Hiames 1000. 测测你的 A+B Compile Error 0 0 ns 0 KB C++ 1016 B
提交时间 评测时间
2018-09-23 21:19:13 2020-08-01 00:38:36
const int N=200200,DEPTH=23;
int n,m,q,tot;
int a[N],b[N],T[N],sum[N*DEPTH],L[N*DEPTH],R[N*DEPTH];
inline int build(int l,int r){
    int x=tot++,mid;
    if(l<r)mid=(l+r)>>1,build(l,mid),build(mid+1,r);
    return x;
}
int update(int l,int r,int k,int pre){
    int x=tot++,mid=(l+r)>>1;
    L[x]=L[pre],R[x]=R[pre],sum[x]=sum[pre]+1;
    if(l<r){
        if(k<=mid)L[x]=update(l,mid,k,L[pre]);
        else R[x]=update(mid+1,r,k,R[pre]);
    }
    return x;
}
int query(int phase1,int phase2,int l,int r,int k){
    int t=sum[L[phase2]]-sum[L[phase1]],mid=(l+r)>>1;
    if(l<r){
        if(k<=t)return query(L[phase1],L[phase2],l,mid,k);
        else return query(R[phase1],R[phase2],mid+1,r,k-t);
    }
}
int plus(int as,int ad){
    n=2,q=2;
    a[1]=b[1]=as,a[2]=b[2]=ad;
    sort(b+1,b+n+1),m=unique(b+1,b+n+1)-1-b,T[0]=build(1,m);
    for(int i=1;i<=n;++i){
        int t=lower_bound(b+1,b+m+1,a[i])-b;
        T[i]=update(1,m,t,T[i-1]);
    }
    return b[query(T[0],T[2],1,m,1)]+b[query(T[0],T[2],1,m,2)];
}

CompilationN/AN/ACompile ErrorScore: N/A


Judge Duck Online | 评测鸭在线
Server Time: 2026-04-10 18:32:45 | Loaded in 1 ms | Server Status
个人娱乐项目,仅供学习交流使用 | 捐赠