40分,why,悬关
查看原帖
40分,why,悬关
1007520
qjz1楼主2024/2/25 10:27

#include<bits/stdc++.h>
using namespace std;
#define int long long
int a[100010],sd[100010],bc[100010];
signed main(){
    int n,x,y,p;
    cin>>n>>x>>y>>p;
    for(int i=1;i<=n;i++) 
    {
        cin>>a[i];
        sd[i]=a[i];
    }
    for(int i=1;i<=p;i++)
    {
        for(int j=1;j<=n;j++)
        {
            a[j]=(a[j]*x+y)%p;
            if(a[j]==sd[j]) bc[i]++;
        }
    }
    bc[0]=bc[p];
    int q;
    cin>>q;
    for(int i=1;i<=q;i++)
    {
        int k;
        cin>>k;
        cout<<bc[k%q]<<endl;
    }
    return 0;
}
2024/2/25 10:27
加载中...