Hackerrank - Permuting Two Arrays Solution
1 min read

Hackerrank - Permuting Two Arrays Solution

Hackerrank - Permuting Two Arrays Solution

Consider two -element arrays of integers,  and . You want to permute them into some  and  such that the relation  holds for all  where . For example, if , , and , a valid  satisfying our relation would be  and ,  and .

You are given  queries consisting of , , and . For each query, print YES on a new line if some permutation ,  satisfying the relation above exists. Otherwise, print NO.

Function Description

Complete the twoArrays function in the editor below. It should return a string, either YES or NO.

twoArrays has the following parameter(s):

  • k: an integer
  • A: an array of integers
  • B: an array of integers

Input Format

The first line contains an integer , the number of queries.

The next  sets of  lines are as follows:

  • The first line contains two space-separated integers  and , the size of both arrays  and , and the relation variable.
  • The second line contains  space-separated integers .
  • The third line contains  space-separated integers .

Constraints

Output Format

For each query, print YES on a new line if valid permutations exist. Otherwise, print NO.

Sample Input

2
3 10
2 1 3
7 8 9
4 5
1 2 2 1
3 3 3 4

Sample Output

YES
NO

Explanation

We perform the following two queries:

, , and . We permute these into  and  so that the following statements are true:

  • Thus, we print YES on a new line.
  1. , , and . To permute  and  into a valid  and , we would need at least three numbers in  to be greater than ; as this is not the case, we print NO on a new line.

Solution in Python

def twoArrays(k, A, B):
    A = sorted(A)
    B = sorted(B, reverse=True)
    for x,y in zip(A,B):
        if x+y<k:
            return "NO"
    return "YES"

for _ in range(int(input())):
    n, k = map(int, input().split())
    A = list(map(int, input().split()))
    B = list(map(int, input().split()))
    print(twoArrays(k, A, B))

Enjoying these posts? Subscribe for more


Adblocker detected! Please consider reading this notice.

We've detected that you are using AdBlock Plus or some other adblocking software which is preventing the page from fully loading.

That's okay. But without advertising-income, we can't keep making this site awesome.

We don't have any banner, Flash, animation, obnoxious sound, or popup ad. We do not implement these annoying types of ads!

We need money to operate the site, and almost all of it comes from our online advertising.

Please add thepoorcoder.com to your ad blocking whitelist or disable your adblocking software.

×