#include <iostream>
#include <cstdio>
using namespace std;
const long long u1=1000000007;//设为常量,不然70
long long n,m,a[5000],x,ans,ans1[2000000],sum;
char r;
long long read()
{
long long flag=1,s=0;
scanf("%c",&r);
while(r<'0'||r>'9')
{
if(r=='-') flag=-1;
scanf("%c",&r);
}
while(r>='0'&&r<='9')
{
s*=10; s=s+r-'0'; s%=u1;
scanf("%c",&r);
}
return s*flag;//读入优化
}
int main()
{
long long i,j;
cin>>n>>m;
for(i=0;i<=n;i++) a[i]=read();
for(i=1;i<=m;i++)
{
sum=0;
for(j=n;j>=1;j--) sum=(sum+a[j])*i%u1;
sum=(sum+a[0])%u1;
if(sum==0) ans1[++ans]=i;
}
cout<<ans<<endl;
for(i=1;i<=ans;i++) cout<<ans1[i]<<endl;
return 0;
}
[noip]2014年提高组复赛day2 解方程
猜你喜欢
转载自blog.csdn.net/qq_42198700/article/details/82951053
今日推荐
周排行