$a_i-i$小于0会出错
by _TLJYatm_ @ 2021-10-17 22:05:30
@[_TLJYatm_](/user/45199) 前面检查过了如果ai-i<0的话就直接输出0并且return了
by jsj8051 @ 2021-10-17 23:17:05
@[jsj8051](/user/546219) usigned long long相减小于0就会错啊
by _TLJYatm_ @ 2021-10-18 09:17:59
@[_TLJYatm_](/user/45199) 把unsigned去掉了,还是不对
by jsj8051 @ 2021-10-18 09:26:02
@[jsj8051](/user/546219) 你本地测能过数据吗
by _TLJYatm_ @ 2021-10-18 09:52:06
```cpp
#include<stdio.h>
long long M=1000000007;
int main()
{
int n,i,j,temp,count=0;
scanf("%d",&n);
long long a[n],ans=1;
for(i=0;i<n;i++)
{
scanf("%lld",&a[i]);
}
for(j=0;j<n-1;j++)
{
for(i=0;i<n-j-1;i++)
{
if(a[i]>a[i+1])
{
temp=a[i];
a[i]=a[i+1];
a[i+1]=temp;
}
}
}
for(i=1;i<=n;i++)
{
if(a[count]-i+1<0)
{
printf("0");
return 0;
}
count++;
}
count=0;
for(i=0;i<n;i++)
{
ans=ans*(a[i]-i)%M;
ans%=M;
count++;
}
printf("%d",ans);
}
```
@[jsj8051](/user/546219)
a[i]输入要long long 然后if(a[count]-i<0)
改成if(a[count]-i+1<0)
by _TLJYatm_ @ 2021-10-18 09:58:11
@[_TLJYatm_](/user/45199) AC了,谢谢大佬指点
by jsj8051 @ 2021-10-18 12:38:50