CF934A A Compatible Pair 題解
阿新 • • 發佈:2021-12-21
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; }