Permuting Two Arrays

There are two n-element arrays of integers, A and B. Permute them into some A' and B' such that the relation  holds for all i where .

Example:

Input:  A = {2,1,3}, B={7,8,9}, k=10
Output: YES

Approach

C++

#include <bits/stdc++.h>
using namespace std;

string twoArrays(int kvector<intAvector<intB)
{
    int flag = 0;

    //sort the first array in ascending order
    sort(A.begin(), A.end());

    //sort second array into descesnding order
    sort(B.begin(), B.end(), greater<>());

    int n = A.size();
    for (int i = n - 1i >= 0i--)
    {
        if (A[i] + B[i] < k)
        {
            flag = 1;
            break;
        }
    }
    if (flag == 0)
        return "YES";
    else
        return "NO";
}
int main()
{

    vector<intA = {213};
    vector<intB = {789};
    int k = 10;

    cout << twoArrays(kAB);

    return 0;
}


No comments:

Post a Comment