คำอธิบายปัญหา
สมมติว่าเรามีอาร์เรย์ A n องค์ประกอบ และ B m องค์ประกอบ เลือก a จาก A และ b จาก B ที่ a+b ไม่อยู่ใน A และไม่อยู่ใน B
ตัวอย่าง: A = [3, 2, 2]; B = [1, 5, 7, 7, 9] ผลลัพธ์คือ [3, 1] เพราะ 3+1=4 ไม่อยู่ในอาร์เรย์ไหน (คำตอบอื่นก็ได้)
ขั้นตอนการแก้ปัญหา
เรียงลำดับ A เรียงลำดับ B คืนค่าตัวสุดท้ายของ A และตัวสุดท้ายของ B
ตัวอย่างโค้ด C++
#include <bits/stdc++.h>
using namespace std;
void solve(vector<int> A, vector<int> B) {
sort(A.begin(), A.end());
sort(B.begin(), B.end());
cout << A[A.size() - 1] << ", " << B[B.size() - 1];
}
int main() {
vector<int> A = { 3, 2, 2 };
vector<int> B = { 1, 5, 7, 7, 9 };
solve(A, B);
}
อินพุต
{ 3, 2, 2 }, { 1, 5, 7, 7, 9 }
เอาต์พุต
3, 9