ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CF934A A Compatible Pair 题解

2021-12-21 20:03:50  阅读:179  来源: 互联网

标签:数列 题解 相乘 Compatible 枚举 maxi ans Pair leqslant


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有