题意
Banban将会从Tommy的序列中取走一个数,和自己序列的一个数组成乘积最大。但是Tommy希望Banban最终组成的数尽可能小,而且它将会提前从自己序列中取走一个数以此来达到目的。
题解
想找出最大值所在的ai下一次跳过他,在找出最大值输出。
#include <bits/stdc++.h>
#define INF 1e18
using namespace std;
const int maxn = 105;
long long number1[maxn], number2[maxn];
int main(){
long long n, m;
while(cin>>n>>m){
for(int i = 0; i < n; i++){
scanf("%lld", &number1[i]);
}
for(int i = 0; i < m; i++){
scanf("%lld", &number2[i]);
}
long long k, MAX = -INF;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(number1[i]*number2[j] > MAX){
MAX = number1[i]*number2[j];
k = i;
}
}
}
MAX = -INF;
for(int i = 0; i < n; i++){
for(int j = 0; j < m; j++){
if(i == k){
continue;
}
if(number1[i]*number2[j] > MAX){
MAX = number1[i]*number2[j];
}
}
}
cout<<MAX<<endl;
}
}