爱奇艺奶牛问题:
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);
    }
}