saurav_kalsoor

Count Quadruplets - KOTLIN

Jul 19th, 2022 (edited)
127
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. // Author : Saurav Kalsoor
  2. // Count Quadruplets - KOTLIN
  3.  
  4. import java.util.*
  5.  
  6. var sc = Scanner(System.`in`)
  7.  
  8. fun main() {
  9.     val n = sc.nextInt()
  10.     val m = sc.nextInt()
  11.     val p = sc.nextInt()
  12.     val q = sc.nextInt()
  13.     val target = sc.nextInt()
  14.  
  15.     val a = ArrayList<Int>()
  16.     val b = ArrayList<Int>()
  17.     val c = ArrayList<Int>()
  18.     val d = ArrayList<Int>()
  19.  
  20.     for (i in 0 until n) {
  21.         a.add(sc.nextInt())
  22.     }
  23.     for (i in 0 until m) {
  24.         b.add(sc.nextInt())
  25.     }
  26.     for (i in 0 until p) {
  27.         c.add(sc.nextInt())
  28.     }
  29.     for (i in 0 until q) {
  30.         d.add(sc.nextInt())
  31.     }
  32.     println(countQuadruplets(a, b, c, d, target))
  33. }
  34.  
  35. fun countQuadruplets(a: ArrayList<Int>, b: ArrayList<Int>, c: ArrayList<Int>, d: ArrayList<Int>, target: Int): Int {
  36.     val map = HashMap<Int, Int>()
  37.     for (i in a) {
  38.         for (j in b) {
  39.             if (map.containsKey(i + j)) {
  40.                 map[i + j] = map[i + j]!! + 1
  41.             } else map[i + j] = 1
  42.         }
  43.     }
  44.     var count = 0
  45.     for (i in c) {
  46.         for (j in d) {
  47.             if (map.containsKey(target - i - j)) {
  48.                 count += map[target - i - j]!!
  49.             }
  50.         }
  51.     }
  52.     return count
  53. }
  54.  
  55.  
  56.  
Add Comment
Please, Sign In to add comment