题目描述
给定一个整数数组 A,其包含 n 个正整数 a1,a2,…,an 以及一个整数数组 B,其包含 m 个正整数 b1,b2,…,bm。
请从数组 A 中挑选一个元素 a 并从数组 B 中挑选一个元素 b,使得 a+b 既不包含于 A 也不包含于 B。
例如,如果 A=[2,1,7] 而 B=[1,3,4],则可以从 A 中选取 1,从 B 中选取 4,这样得到的数字 1+4=5 既不在 A 中,也不在 B 中。
但是,我们不能从 A 中选取 2,从 B 中选取 1,因为得到的数字 2+1=3 包含于 B。
可以证明这样的数对一定存在,如果答案不唯一则输出任意合理答案均可。
输入格式
第一行包含整数 n。
第二行包含 n 个整数 a1,…,an。
第三行包含整数 m。
第四行包含 m 个整数 b1,…,bm。
输出格式
共一行,输出 a 和 b,中间用空格隔开。
数据范围
对于 30% 的数据,1≤n,m≤10
对于 100% 的数据,1≤n,m≤100,1≤ai,bi≤200
样例
输入样例1:
1
20
2
10 20
输出样例1:
20 20
输入样例2:
3
3 2 2
5
1 5 7 7 9
输出样例2:
3 1
输入样例3:
4
1 3 5 7
4
7 5 3 1
输出样例3:
1 1
算法1
C++ 代码
#include<cstdio>
#include<algorithm>
using namespace std;
const int N = 1e4;
int n,m;
int main(){
int s = 0,b = 0;
scanf("%d",&n);
for(int i = 1;i <= n;i ++) {
int x;
scanf("%d",&x);
s = max(s, x);
}
scanf("%d",&m);
for(int i = 1;i <= m;i ++) {
int x;
scanf("%d",&x);
b = max(x, b);
}
printf("%d %d",s,b);
return 0;
}