title: Count Pairs Two Sorted Arrays Whose Sum Equal Given Value X
signature: countPairsTwoSortedArraysWhoseSumEqualGivenValueX :: [Integer] -> [Integer] -> Integer -> Integer -> Integer -> Integer
  countPairsTwoSortedArraysWhoseSumEqualGivenValueX arr1 arr2 m n x = 
test_code: import Text.Printf
  import Control.Exception (catch, SomeException)
  import Data.Typeable
  import qualified Data.List as List
  import qualified Data.Map as Map
  import qualified Data.Set as Set
  
  -- SOLUTION CODE
  -- ============================================
  
  PLACEHOLDER_CODE_BODY
  
  -- TESTING CODE 
  -- ============================================
  validateSolution :: Integer -> Integer -> Bool
  validateSolution actual expected = do
      actual == expected
  
  
  driver :: [Integer] -> [Integer] -> Integer -> Integer -> Integer -> Integer -> String
  driver arr1 arr2 m n x expected = do
      if (validateSolution (PLACEHOLDER_FN_NAME arr1 arr2 m n x) expected)
          then "PASSED"
      else "FAILED"
  
  main = do
      printf "TEST-0...%s\n" (driver ([11, 13, 16, 23, 26, 28, 31, 34, 37, 39, 44, 48, 56, 59, 79, 91, 96, 98]) ([1, 1, 9, 14, 17, 23, 26, 31, 33, 36, 53, 60, 71, 75, 76, 84, 87, 88]) (9) (15) (11) (0) )
  
      printf "TEST-1...%s\n" (driver ([50, 14, -98, 14, 90, 36, 66, 44, 10, -98, -24, -36, -32, -50]) ([34, -6, -66, 0, -6, 82, 60, -98, -8, 60, -2, 4, 22, 76]) (11) (12) (8) (5) )
  
      printf "TEST-2...%s\n" (driver ([0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) ([0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1]) (14) (9) (12) (0) )
  
      printf "TEST-3...%s\n" (driver ([88, 14, 29, 87, 86, 58]) ([91, 95, 64, 4, 63, 35]) (3) (5) (5) (0) )
  
      printf "TEST-4...%s\n" (driver ([-98, -92, -88, -86, -82, -76, -72, -66, -56, -48, -34, -28, -28, -26, -20, -18, -18, -16, -16, -12, -4, 0, 6, 12, 16, 20, 22, 30, 34, 34, 36, 56, 58, 62, 64, 80, 82, 94]) ([-94, -90, -88, -84, -82, -78, -76, -72, -70, -58, -58, -46, -42, -40, -40, -32, -22, -20, -18, -12, -8, -6, 6, 6, 18, 20, 34, 46, 60, 62, 66, 72, 72, 76, 76, 78, 92, 98]) (34) (32) (23) (0) )
  
      printf "TEST-5...%s\n" (driver ([1, 1, 1, 1, 0, 1, 1, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0]) ([1, 0, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 0, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 0, 0, 1, 0, 0]) (39) (26) (34) (0) )
  
      printf "TEST-6...%s\n" (driver ([70, 70, 74]) ([15, 55, 84]) (1) (1) (1) (0) )
  
      printf "TEST-7...%s\n" (driver ([-20, -12, -50, 76, 24, 64, -22, -4, -68]) ([18, 98, -88, 86, 72, -44, 82, 94, 58]) (5) (4) (7) (0) )
  
      printf "TEST-8...%s\n" (driver ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) ([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]) (27) (26) (37) (0) )
  
      printf "TEST-9...%s\n" (driver ([68, 75, 51, 45, 73, 95, 48, 53, 70, 41, 65, 47, 46, 43, 79, 29, 50]) ([4, 6, 76, 65, 16, 13, 85, 43, 31, 14, 81, 90, 24, 87, 40, 25, 88]) (10) (10) (9) (0) )
  
source_py: def count_pairs_two_sorted_arrays_whose_sum_equal_given_value_x(arr1, arr2, m, n, x):
      count = 0
      for i in range(m):
          for j in range(n):
              if ((arr1[i] + arr2[j]) == x):
                  count = (count + 1)
      return count
source_cpp: int count_pairs_two_sorted_arrays_whose_sum_equal_given_value_x(vector<int> arr1, vector<int> arr2, int m, int n, int x) {
    int count = 0;
    for ( int i = 0;
    i < m;
    i ++ ) for ( int j = 0;
    j < n;
    j ++ ) if ( ( arr1 [ i ] + arr2 [ j ] ) == x ) count ++;
    return count;
  }