小X的密码破译

小X的密码破译

思路

暴力

//#pragma GCC optimize("O2")
//#pragma GCC optimize("O3")
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#include<cmath>
#define INF 11111111
#define ll long long
#define rr register
using namespace std;
ll Ans,m,n,a,b,c;
int F[INF];
int main()
{

	scanf("%lld%lld%lld%lld",&n,&a,&b,&c);
	for(rr int i=1;i<=n%INF;++i)//因为INF*INF肯定大于INF
		F[(a*i*i+b*i+c)%INF]=1;
	for(rr int i=0;i<INF;++i)//桶排
		if(F[i])Ans=(Ans+(++m)*i)%INF;
	printf("%lld",Ans);
	return 0;
}