View difference between Paste ID: thkqScts and JaufmpZH
SHOW: | | - or go back to the newest paste.
1
// Author : Saurav Kalsoor
2-
// Count Quadruplets - JAVA
2+
// Count Quadruplets - KOTLIN
3
4-
import java.util.*;
4+
import java.util.*
5
6-
public class Test {
6+
var sc = Scanner(System.`in`)
7-
    static Scanner sc = new Scanner(System.in);
7+
8-
    public static void main(String[] args) {
8+
fun main() {
9-
        int n = sc.nextInt();
9+
    val n = sc.nextInt()
10-
        int m = sc.nextInt();
10+
    val m = sc.nextInt()
11-
        int p = sc.nextInt();
11+
    val p = sc.nextInt()
12-
        int q = sc.nextInt();
12+
    val q = sc.nextInt()
13-
        int target = sc.nextInt();
13+
    val target = sc.nextInt()
14
15-
        ArrayList<Integer> a = new ArrayList<>();
15+
    val a = ArrayList<Int>()
16-
        ArrayList<Integer> b = new ArrayList<>();
16+
    val b = ArrayList<Int>()
17-
        ArrayList<Integer> c = new ArrayList<>();
17+
    val c = ArrayList<Int>()
18-
        ArrayList<Integer> d = new ArrayList<>();
18+
    val d = ArrayList<Int>()
19
20-
		for(int i = 0;i < n; i++){
20+
    for (i in 0 until n) {
21-
			a.add(sc.nextInt());
21+
        a.add(sc.nextInt())
22-
		}
22+
23
    for (i in 0 until m) {
24-
        for(int i = 0;i < m; i++){
24+
        b.add(sc.nextInt())
25-
			b.add(sc.nextInt());
25+
26-
		}
26+
    for (i in 0 until p) {
27
        c.add(sc.nextInt())
28-
        for(int i = 0;i < p; i++){
28+
29-
			c.add(sc.nextInt());
29+
    for (i in 0 until q) {
30-
		}
30+
        d.add(sc.nextInt())
31
    }
32-
        for(int i = 0;i < q; i++){
32+
    println(countQuadruplets(a, b, c, d, target))
33-
			d.add(sc.nextInt());
33+
34-
		}
34+
35-
		System.out.println(countQuadruplets(a, b, c, d, target));
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-
    public static int countQuadruplets(ArrayList<Integer> a, ArrayList<Integer> b, ArrayList<Integer> c, ArrayList<Integer> d, int target) {
38+
        for (j in b) {
39-
        HashMap<Integer, Integer> map = new HashMap<>();
39+
            if (map.containsKey(i + j)) {
40-
        
40+
                map[i + j] = map[i + j]!! + 1
41-
        for (int i : a) {
41+
            } else map[i + j] = 1
42-
            for (int j : b) {
42+
43-
                if (map.containsKey(i + j)) {
43+
44-
                    map.put(i + j, map.get(i + j) + 1);
44+
    var count = 0
45-
                } else
45+
    for (i in c) {
46-
                    map.put(i + j, 1);
46+
        for (j in d) {
47
            if (map.containsKey(target - i - j)) {
48
                count += map[target - i - j]!!
49-
        
49+
50-
        int count = 0;
50+
51-
        
51+
52-
        for (int i : c) {
52+
    return count
53-
            for (int j : d) {
53+
54-
                if (map.containsKey(target - i - j)) {
54+
55-
                    count += map.get(target - i - j);
55+
56-
                }
56+