爱奇艺奶牛问题:
import java.math.BigInteger;
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n = in.nextInt();
int[] arr = new int[n];
for(int i = 0; i<n; i++){
arr[i] = in.nextInt();
}
Arrays.sort(arr);
Main solutionWay = new Main ();
System.out.println(solutionWay.solution(n,arr));
}
public BigInteger solution(int n, int[] arr){
BigInteger num = BigInteger.valueOf(1);
final BigInteger mode = BigInteger.valueOf(1000000007L);
for(int i = 0; i < arr.length; i++){
if(arr[i] - i > 0){
num = num.multiply( BigInteger.valueOf(arr[i]-i));
}
else{
num = BigInteger.valueOf(0);
}
}
return num.mod(mode);
}
}