其他分享
首页 > 其他分享> > CF934A A Compatible Pair 题解

CF934A A Compatible Pair 题解

作者:互联网

Content

有两个数列 \(A\) 和 \(B\),\(A\) 数列里面有 \(n\) 个元素,\(B\) 数列里面有 \(m\) 个元素,现在请从 \(A\) 数列中删除一个数,使得 \(A\) 数列中剩下的任意一个元素与 \(B\) 数列中任意一个元素相乘得到的所有 \(m(n-1)\) 个值的最大值最小,求出这个最小值。

数据范围:\(1\leqslant n,m\leqslant 50,-10^9\leqslant A_i,B_i\leqslant 10^9\)。

Solution

数据范围这么小,我们为什么不直接枚举呢?

首先枚举在 \(A\) 数列中删除的数,然后枚举所有相乘得到的 \(m(n-1)\) 个值,求得最大值,再取最小,最后直接输出就好了。

提醒:这道题目相乘得到的结果可能很大,需要开 \(\texttt{long long}\)!

Code

int n, m;
ll a[57], b[57], ans = 0x3f3f3f3f3f3f3f3f;

int main() {
	getint(n), getint(m);
	_for(i, 1, n)	getll(a[i]);
	_for(i, 1, m)	getll(b[i]);
	_for(k, 1, n) {
		ll maxi = -0x3f3f3f3f3f3f3f3f;
		_for(i, 1, n)
			_for(j, 1, m)
				if(i != k)
					maxi = max(maxi, a[i] * b[j]);
		ans = min(ans, maxi);
	}
	writell(ans);
	return 0;
}

标签:数列,题解,相乘,Compatible,枚举,maxi,ans,Pair,leqslant
来源: https://www.cnblogs.com/Eason-AC/p/15716787.html