问题描述
第一行有 xx 个正整数 a1,a2,..,axa1,a2,..,ax ,
第二行有 yy 个正整数 b1,b2,...,byb1,b2,..,by ,
第三行有 zz 个正整数 c1,c2,...,czc1,c2,...,cz ,
假设第一行的 xx 个正整数中的最大值为 aa 、第二行的 yy 个正整数中的最大值为 bb 、第三行的zz 个正整数中的最大值为 cc , 输出 (a\times b\times c)%10007(a×b×c)%10007 的结果。
输入
第一行有 x+1x+1 个正整数,每个数之间一个空格分隔。第一个数表示整数的个数x,后面的x个数表示 a1,a2,...axa1,a2,...ax 。
第二行有 y+1y+1 个正整数,每个数之间一个空格分隔。第一个数表示整数的个数y,后面的y个数表示 b1,b2,...byb1,b2,...by 。
第三行有 z+1z+1 个正整数,每个数之间一个空格分隔。第一个数表示整数的个数z,后面的z个数表示 c1,c2,...czc1,c2,...cz 。
输出
一个整数 是 (a\times b\times c)%10007(a×b×c)%10007 的值。
样例
输入数据 1
3 2 1 3
4 5 3 2 1
2 1 2
输出数据 1
30
我的代码:
#include <bits/stdc++.h>
using namespace std;
const int maxn = 10001;
int a[maxn], b[maxn], c[maxn];
int main(){
int x, y, z;
int max_x = -maxn, max_y = -maxn, max_z = -maxn;
cin >> x;
for(int i = 1; i <= x; i++) cin >> a[i];
cin >> y;
for(int i = 1; i <= y; i++) cin >> b[i];
cin >> z;
for(int i = 1; i <= z; i++) cin >> c[i];
for(int i = 1; i <= x; i++){
if(a[i] > max_x) max_x = a[i];
}
for(int i = 1; i <= y; i++){
if(b[i] > max_y) max_y = b[i];
}
for(int i = 1; i <= z; i++){
if(c[i] > max_z) max_z = c[i];
}
cout << (max_x * max_y * max_z) % 10007;
return 0;
}