测评会员优惠活动进行中 · 开通 VIP,有效期内测评不限次 VIP 优惠中 · 测评不限次 立即查看

A70710. 同时出现的数

编程题 基础

题目描述

Medusa 同学拿到了 2 组数字,老师请你编程帮他找出,第 2 组数中的哪些数,在第 1 组数中出现了,从小到大输出所有满足条件的数。

比如:

1 组数有:8 7 9 8 2 6 3

2 组数有:9 6 8 3 3 2 10

那么应该输出:2 3 3 6 8 9

输入格式

第一行两个整数 nm ,分别代表 2 组数的数量。

第二行 n 个整数。

第三行 m 个整数。

对于 60\% 的数据 1 \le n,m \le 1000,每个数 \le 2\times 10^9

对于 100\% 的数据 1 \le n, m \le 100000 ,每个数 \le 2\times 10^9

输出格式

按照要求输出满足条件的数,数与数之间用空格隔开。

输入输出样例

输入 #1
7 7
8 7 9 8 2 6 3
9 6 8 3 3 2 10
输出 #1
2 3 3 6 8 9

说明/提示

## 思路

在有序范围上二分:根据 check(mid) 决定向左或向右缩小区间。

## 步骤

1. 确定答案上下界。
2. 二分 mid 并用题意检验。
3. 输出最终边界对应的答案。