Submission #25772517


Source Code Expand

import java.io.OutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.PrintWriter;
import java.util.Collection;
import java.util.Set;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.TreeSet;
import java.util.stream.Stream;
import java.util.TreeMap;
import java.util.StringTokenizer;
import java.util.Map;
import java.io.BufferedReader;
import java.io.InputStream;

/**
 * Built using CHelper plug-in
 * Actual solution is at the top
 */
public class Main {
    public static void main(String[] args) {
        InputStream inputStream = System.in;
        OutputStream outputStream = System.out;
        MyScanner in = new MyScanner(inputStream);
        PrintWriter out = new PrintWriter(outputStream);
        D solver = new D();
        solver.solve(1, in, out);
        out.close();
    }

    static class D {
        public void solve(int testNumber, MyScanner in, PrintWriter out) {
            int N = in.Int();
            TreeMap<Integer, Set<Integer>> map = new TreeMap<>();
            for (int n = 0; n < N; n++) {
                int x = in.Int();
                int y = in.Int();
                Set<Integer> set = map.getOrDefault(x, new TreeSet<>());
                set.add(y);
                map.put(x, set);
            }

            long ans = 0;
            var keys = map.keySet().toArray(new Integer[0]);
            for (int i = 0; i < keys.length; i++) {
                Set<Integer> set1 = map.get(keys[i]);
                for (int j = i + 1; j < keys.length; j++) {
                    Set<Integer> set2 = map.get(keys[j]);
                    long cnt = set1.stream().filter(set2::contains).count();
                    ans += cnt * (cnt - 1) / 2;
                }
            }
            out.println(ans);
        }

    }

    static class MyScanner {
        private BufferedReader in;
        private StringTokenizer st;

        public MyScanner(InputStream stream) {
            in = new BufferedReader(new InputStreamReader(stream));
        }

        public String next() {
            while (st == null || !st.hasMoreTokens()) {
                try {
                    String rl = in.readLine();
                    if (rl == null) {
                        return null;
                    }
                    st = new StringTokenizer(rl);
                } catch (IOException e) {
                    return null;
                }
            }
            return st.nextToken();
        }

        public int Int() {
            return Integer.parseInt(next());
        }

    }
}

Submission Info

Submission Time
Task D - Rectangles
User daira4000
Language Java (OpenJDK 11.0.6)
Score 400
Code Size 2684 Byte
Status AC
Exec Time 395 ms
Memory 55612 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 29
Set Name Test Cases
Sample sample_00.txt, sample_01.txt, sample_02.txt
All case_00.txt, case_01.txt, case_02.txt, case_03.txt, case_04.txt, case_05.txt, case_06.txt, case_07.txt, case_08.txt, case_09.txt, case_10.txt, case_11.txt, case_12.txt, case_13.txt, case_14.txt, case_15.txt, case_16.txt, case_17.txt, case_18.txt, case_19.txt, case_20.txt, case_21.txt, case_22.txt, case_23.txt, case_24.txt, case_25.txt, sample_00.txt, sample_01.txt, sample_02.txt
Case Name Status Exec Time Memory
case_00.txt AC 148 ms 37692 KiB
case_01.txt AC 141 ms 37468 KiB
case_02.txt AC 145 ms 37572 KiB
case_03.txt AC 140 ms 37332 KiB
case_04.txt AC 141 ms 36708 KiB
case_05.txt AC 172 ms 36432 KiB
case_06.txt AC 134 ms 36596 KiB
case_07.txt AC 140 ms 37396 KiB
case_08.txt AC 131 ms 36176 KiB
case_09.txt AC 140 ms 37200 KiB
case_10.txt AC 143 ms 37524 KiB
case_11.txt AC 150 ms 37080 KiB
case_12.txt AC 153 ms 37016 KiB
case_13.txt AC 143 ms 37240 KiB
case_14.txt AC 138 ms 37488 KiB
case_15.txt AC 395 ms 55612 KiB
case_16.txt AC 151 ms 38188 KiB
case_17.txt AC 155 ms 38088 KiB
case_18.txt AC 146 ms 38188 KiB
case_19.txt AC 176 ms 37420 KiB
case_20.txt AC 145 ms 38188 KiB
case_21.txt AC 148 ms 37076 KiB
case_22.txt AC 147 ms 38328 KiB
case_23.txt AC 149 ms 38508 KiB
case_24.txt AC 149 ms 38588 KiB
case_25.txt AC 207 ms 38240 KiB
sample_00.txt AC 80 ms 33548 KiB
sample_01.txt AC 78 ms 33924 KiB
sample_02.txt AC 82 ms 33964 KiB