数字
#include<bits/stdc++.h> using namespace std; bool cmp(int a,int b) { if(a < b) return true; return false; } int a[100005] = {0}, b[100005] = {0}, n, m; int main() { freopen("number.in","r",stdin); freopen("number.out","w",stdout); scanf("%d", &n); for(int i = 1;i <= n;i++) scanf("%d", &a[i]); scanf("%d", &m); for(int i = 1;i <= m;i++) scanf("%d", &b[i]); sort(a+1,a+n+1,cmp); sort(b+1,b+m+1,cmp); int k = 1; int x = 1; for(int i = 1;i <= n;i++) { if(a[i] == b[x]) x++; else printf("%d", a[i]); } return 0; }
数字(number)
Time Limit:1000ms Memory Limit:128MB
题目描述
LYK拥有n个数,这n个数分别是a1,a2,…,an。
有一天它做了一个梦,在梦里它的这n个数有部分被小偷偷走了,只剩下了m个数b1,b2,…,bm。它想知道有哪些数字被小偷偷走了!
LYK告诉你a和b的值,你需要从小到大的告诉LYK,哪些数字不见了!
输入格式(number.in)
第一行一个数n,第二行n个数ai,表示一开始的数字。
第三行一个数m,第四行m个数bi,表示剩下的数字。
输出格式(number.out)
一行n-m个数,从小到大输出所有被偷走的数字。
输入样例
5
1 3 3 7 8
3
3 7 8
输出样例
1 3
数据范围
对于30%的数据n<=1000,ai与bi都是从小到大有序的。
对于60%的数据n<=100000,ai与bi都是从小到大有序的。
对于80%的数据n<=100000,ai,bi<=n。
对于100%的数据n<=100000,1<=ai,bi<=10^9。