数字

#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。

posted @ 2018-02-07 08:50  thx666  阅读(172)  评论(0编辑  收藏  举报