Submission #367299

# Submission time Handle Problem Language Result Execution time Memory
367299 2021-02-16T20:08:38 Z Vectorized A Huge Tower (CEOI10_tower) Java 11
100 / 100
734 ms 51704 KB
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;

public class tower {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(br.readLine());
        long MOD = 1000000009;
        int n = Integer.parseInt(st.nextToken()), m = Integer.parseInt(st.nextToken());
        int[] ar = new int[n];
        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < n; i++) {
            ar[i] = Integer.parseInt(st.nextToken());
        }
        long ans = 1;
        Arrays.sort(ar);
        int pointer = 0;
        for (int i = 0; i < n; i++) {
            for(;pointer<n && ar[pointer] - ar[i] <= m;pointer++){}
//            System.out.println(i + " " + pointer);
            ans = ans * ((long)(pointer - i)) % MOD;
        }
        System.out.println(ans);
    }
}
# Verdict Execution time Memory Grader output
1 Correct 70 ms 8936 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 74 ms 8552 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 72 ms 8552 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 76 ms 8580 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 75 ms 8544 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 69 ms 8684 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 72 ms 8452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 71 ms 8556 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 76 ms 8444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 74 ms 8444 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 79 ms 8544 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 77 ms 8768 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 77 ms 8664 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 73 ms 8408 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 107 ms 9472 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 289 ms 17440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 377 ms 19568 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 734 ms 24344 KB Output is correct
2 Correct 724 ms 24080 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 609 ms 35956 KB Output is correct
2 Correct 628 ms 35872 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 658 ms 51704 KB Output is correct
2 Correct 723 ms 50696 KB Output is correct