কম্পিউটার টিউটোরিয়াল

সি++ কোড: B রি-অ্যারেঞ্জ করে A[i]+B[i] <= x করা যায় কিনা যাচাই করুন

দুটি অ্যারে 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(vector A, 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
  1. অ্যারেতে নন-রিপিটিং (ডিস্টিংक्ट) উপাদানগুলোর যোগফল বের করা C++-তে

  2. C++-এ একটি সংখ্যা দুটি অবানড্যান্ট নম্বরের যোগফল হিসেবে প্রকাশ করা যায় কিনা তা যাচাই করা

  3. C++ প্রোগ্রাম: সংখ্যা ২টি ট্রায়্যাঙ্গুলার নাম্বারের যোগফল কিনা চেক

  4. C++ প্রোগ্রাম: সংখ্যা কনsekutিভ নাম্বারগুলোর যোগফল কিনা চেক