思路:
把每一个求出来的数直接放入桶,然后求和。
#include<cstdio>
#define r register
#define l long long
using namespace std;
long long a,b,c,n,cwh=11111111,num,ans;
bool sum[11111111];
int main()
{
scanf("%lld%lld%lld%lld",&n,&a,&b,&c);
for(r l i=1;i<=n;++i)
sum[((l)a*i*i+(l)b*i+(l)c)%cwh]=true;//放入桶中
for(r l i=0;i<=cwh;++i)
if(sum[i]) ans=((l)ans+(l)(++num)*(l)i)%cwh;//求和
printf("%lld",ans);
}