1 条题解
- 
  1
#include<bits/stdc++.h> using namespace std; int n,m,lastans,x,arr[300005],b[300005]; map<int,bool> vis; int main(){ scanf("%d%d",&n,&m); for(int i=1;i<=n;++i){ scanf("%d",&arr[i]); vis[arr[i]]=true; } int cnt=n; for(int i=1;i<=m;++i){ scanf("%d",&x); x^=lastans; if(vis[x]==true){ b[i]=-1; continue; } vis[x]=true; b[i]=x; arr[++cnt]=x; int id=lower_bound(arr+1,arr+1+n,x)-arr; lastans=id; } //排序 stable_sort(arr+1,arr+1+cnt); //拿b数组 来lower_bound for(int i=1;i<=m;++i){ if(b[i]==-1)printf("-1 "); else printf("%d ",lower_bound(arr+1,arr+1+cnt,b[i])-arr); } //输出 a数组 putchar('\n'); for(int i=1;i<=cnt;++i)printf("%d ",arr[i]); return 0; } 
- 1
 
信息
- ID
 - 2939
 - 时间
 - 1000ms
 - 内存
 - 256MiB
 - 难度
 - 9
 - 标签
 - 递交数
 - 192
 - 已通过
 - 16
 - 上传者