দুটি অ্যারে A এবং B (সাইজ n) এবং একটি সংখ্যা x দেওয়া আছে। B-এর উপাদানগুলো রি-অ্যারেঞ্জ করা যায় কিনা যাতে সব i (০ থেকে n-1) এর জন্য A[i] + B[i] <= x হয়। তা যাচাই করতে হবে।
উদাহরণ
A=[1,2,3], B=[1,1,2], x=4 → আউটপুট: True
ব্যাখ্যা: B কে [1,2,1] রি-অ্যারেঞ্জ করলে: 1+1<=4, 2+2<=4, 3+1<=4।
সমাধানের ধাপসমূহ
n := A.size()
ans := 1
for i := 0 to n-1:
sum := A[i] + B[n-i-1]
if sum > x: ans := 0
if ans: return true
else: return false
সি++ কোড উদাহরণ
#include <bits/stdc++.h> using namespace std; bool solve(vectorA, vector B, int x) { int n = A.size(), ans = 1; for (int i = 0; i < n; ++i) { int sum = A[i] + B[n-i-1]; if (sum > x) ans = 0; } return ans ? true : false; } int main() { vector A = {1,2,3}; vector B = {1,1,2}; int x = 4; cout << solve(A,B,x) << endl; }
ইনপুট
{1,2,3}, {1,1,2}, 4
আউটপুট
1