Submission #928189

#TimeUsernameProblemLanguageResultExecution timeMemory
928189crystalA Huge Tower (CEOI10_tower)Java
30 / 100
905 ms42176 KiB
import java.util.*;

public class tower {
	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		int n = sc.nextInt();
		int m = sc.nextInt();
		int [] vals = new int [n];
		for(int i =0;i<n;i++) {
			vals[i]=sc.nextInt();
		}
		Arrays.sort(vals);
		int r=0;
		long ans =1;
		for(int i=0;i<n;i++) {
			while(r+1<n&&vals[r+1]-vals[i]<=m) {
				r++;
			}
			ans=ans*((long)r-i+1)%1000000000;
			ans%=1000000000;
		}
		System.out.println(ans);
	}
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...