难道是我的速读出了问题?
  • 板块P1866 编号
  • 楼主CalmKin
  • 当前回复8
  • 已保存回复8
  • 发布时间2022/4/20 20:04
  • 上次更新2023/10/28 03:14:28
查看原帖
难道是我的速读出了问题?
570330
CalmKin楼主2022/4/20 20:04
#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();
		//换成这一句就对了
		//scanf("%d",&rab[i]);
	}
	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分(只有第三个点),但是下载测试样例,在自己的编译器上跑出来的结果是对的

各位大佬们可以帮我看看是哪里出了问题吗,球球啦

2022/4/20 20:04
加载中...