1 条题解
-
0庄开宇 (zhuangkaiyu) LV 6 @ 2023-4-25 18:09:46
#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
- 标签
- 递交数
- 191
- 已通过
- 15
- 上传者