답안 #713681

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
713681 2023-03-22T19:46:16 Z hex A Huge Tower (CEOI10_tower) Java 11
100 / 100
651 ms 50872 KB
import java.io.*;
import java.util.*;

public class tower {
	static final long MOD = (long) (1e9 + 9);

	public static void main (String[] args) throws IOException {
		BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
		PrintWriter out = new PrintWriter(System.out);
		StringTokenizer st = new StringTokenizer(reader.readLine());
		int N = Integer.parseInt(st.nextToken());
		int diff = Integer.parseInt(st.nextToken());
		int[] sizes = new int[N];
		st = new StringTokenizer(reader.readLine());
		for (int n = 0; n < N; n++) {
			sizes[n] = Integer.parseInt(st.nextToken());
		}
		Arrays.sort(sizes);
		
		int lt = 0;
		int rt = 0;
		long len;
		long ans = 1;
		while (lt < N) {
			while (rt < N - 1 && sizes[rt + 1] <= sizes[lt] + diff) rt++;
			len = rt - lt + 1;
			ans = (ans * len) % MOD;
			lt++;
		}
		out.println(ans);
		out.close();
	}
}
# 결과 실행 시간 메모리 Grader output
1 Correct 63 ms 8224 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 59 ms 8432 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 66 ms 8252 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 72 ms 8260 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 8096 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 63 ms 8184 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 61 ms 8540 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 70 ms 8368 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 69 ms 8428 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 62 ms 8596 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 57 ms 8244 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 61 ms 8544 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 67 ms 8264 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 63 ms 8124 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 88 ms 9116 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 259 ms 17008 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 333 ms 19432 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 651 ms 23792 KB Output is correct
2 Correct 614 ms 24128 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 510 ms 33664 KB Output is correct
2 Correct 469 ms 36296 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 544 ms 45820 KB Output is correct
2 Correct 607 ms 50872 KB Output is correct