小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;
}