70分求助
查看原帖
70分求助
545065
donghaoyu2011楼主2022/8/25 18:57
#include <iostream>
#include<vector>
using namespace std;
vector<long long> vec;
long long n,m;
long long a[1000010];
long long MOD=1e9 + 7;
long  long Read(){
	long long flag=1,x=0;
	char ch;
	ch=getchar();
	for(;ch<'0'||ch>'9';ch=getchar()){
		if(ch=='-'){
			flag=-1;
		}
	}
	for(;ch>='0'&&ch<='9';ch=getchar()){
		x=((x*10)%MOD+ch-'0')%MOD; 
	}
	return flag*x;
}
bool check(int xx){
	long long x=1;
	long long sum=0;
	for(int i=0;i<=n;i++){
		sum=(sum+(a[i]*x)%MOD)%MOD;
		x=x*xx%MOD;
	}
	if(sum==0){
		return true;
	}
	return false;
}
int main(){
	cin>>n>>m;
	for(int i=0;i<=n;i++){
		a[i]=Read();
	}
	for(int i=1;i<=m;i++){
		if(check(i)){
			vec.push_back(i);
		}
	}
	cout<<vec.size();
	cout<<endl;
	for(int i=0;i<vec.size();i++){
		cout<<vec[i]<<endl;
	}
	return 0;
}
70分三个TLE
2022/8/25 18:57
加载中...