#include<bits/stdc++.h>
using namespace std;
int read()
{
char ch;
int val=0;
ch=getchar();
while(ch<'0'&&ch>'9'){
ch=getchar();
}
while(ch>='0'&&ch<='9'){
val=(val<<1)+(val<<3)+(ch^48);
ch=getchar();
}
return val;
}
int rab[52];
int main()
{
int n=read();
for(int i=0;i<n;i++){
rab[i]=read();
}
sort(rab,rab+n);
long long ans=1;
for(int i=0;i<n;i++){
ans*=(rab[i]-i);
if(ans<=0)
{
printf("0");
return 0;
}
if(ans>=1000000007)
{
ans%=1000000007;
}
}
printf("%lld",ans);
}
排查了一下,n用速读没问题,但是如果rab[i] 也用速读的话,就会只有10分(只有第三个点),但是下载测试样例,在自己的编译器上跑出来的结果是对的
各位大佬们可以帮我看看是哪里出了问题吗,球球啦