Submission #391084

# Submission time Handle Problem Language Result Execution time Memory
391084 2021-04-17T19:42:27 Z yu_lim A Huge Tower (CEOI10_tower) Java 11
100 / 100
718 ms 45420 KB
import java.util.*;
import java.io.*;

public class tower {

	public static void main(String[] args) throws IOException {

		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer str = new StringTokenizer(br.readLine());
		int N = Integer.parseInt(str.nextToken());
		int D = Integer.parseInt(str.nextToken());
		int M = 1_000_000_009;

		int[] block = new int[N];
		str = new StringTokenizer(br.readLine());
		for (int i = 0; i < N; i++)
			block[i] = Integer.parseInt(str.nextToken());
		br.close();

		Arrays.sort(block);
		long ways = 1; // # ways to make a tower with i blocks
		for (int i = 1, p = 0; i < N; i++) {
			while (p < i && block[p] + D < block[i])
				p++;
			ways = ((i - p + 1) * ways) % M;
		}
		System.out.println(ways);
	}
}
# Verdict Execution time Memory Grader output
1 Correct 75 ms 8352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 82 ms 8264 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 69 ms 8440 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 72 ms 8400 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 70 ms 8476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 70 ms 8464 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 70 ms 8392 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 71 ms 8372 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 70 ms 8404 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 71 ms 8340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 71 ms 8300 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 71 ms 8276 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 87 ms 8432 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 77 ms 8176 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 107 ms 9160 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 287 ms 17088 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 358 ms 19136 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 716 ms 23384 KB Output is correct
2 Correct 699 ms 23168 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 590 ms 33168 KB Output is correct
2 Correct 568 ms 33216 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 663 ms 45420 KB Output is correct
2 Correct 718 ms 44860 KB Output is correct