Submission #373910

# Submission time Handle Problem Language Result Execution time Memory
373910 2021-03-06T03:39:21 Z jfyen A Huge Tower (CEOI10_tower) Java 11
85 / 100
1000 ms 25128 KB
import java.util.*;
public class tower {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int N = sc.nextInt();
		int D = sc.nextInt();
		long mod = 1000000009;
		int[] blocks = new int[N];
		for (int i = 0;i<N;i++) {
			blocks[i] = sc.nextInt();
		}
		Arrays.sort(blocks);
		long[] place = new long[N];
		long[] towers = new long[N];
		towers[0] = 1;
		//place[0] = 1;
		int lower = 0;
		for (int i = 0;i<N;i++) {
			while(lower<i) {
				if(blocks[lower]+D<blocks[i])
					lower++;
				else
					break;
			}
			//System.out.println(i+" "+lower);
			place[i] = (i-lower+1)%mod;
			if (i>0)
			towers[i] = (place[i]*towers[i-1])%mod;
		}
		System.out.println(towers[N-1]%mod);
	}

}
# Verdict Execution time Memory Grader output
1 Correct 121 ms 10456 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 120 ms 10476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 120 ms 10352 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 128 ms 10348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 122 ms 10508 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 123 ms 10448 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 123 ms 10412 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 124 ms 10348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 133 ms 10476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 140 ms 10528 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 142 ms 10476 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 128 ms 10348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 136 ms 10576 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 134 ms 10656 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 281 ms 12968 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 448 ms 20824 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 732 ms 23628 KB Output is correct
# Verdict Execution time Memory Grader output
1 Execution timed out 1090 ms 24876 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1095 ms 25128 KB Time limit exceeded
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Execution timed out 1087 ms 20524 KB Time limit exceeded
2 Halted 0 ms 0 KB -