比赛 NOIP模拟赛by mzx Day2 评测结果 WWTTTTTTTT
题目名称 学姐的巧克力盒 最终得分 0
用户昵称 Zars19 运行时间 16.031 s
代码语言 C++ 内存使用 4.13 MiB
提交时间 2016-10-20 21:02:12
显示代码纯文本
#include<iostream>
#include<cstring>
#include<cstdio>
using namespace std;
int n,m,k,p1,p2,a[1000005];
int Pow(int x,int n)
{
    int res=1;
    while(n>0)
    {
        if(n&1)res=(res*(x%p2))%p2;
        x=((x%p2)*(x%p2))%p2;
        n>>=1;
    }
    return res;
}
int main()
{
    freopen("chocolatebox.in","r",stdin);
    freopen("chocolatebox.out","w",stdout);
    cin>>n>>m>>k>>p1>>p2;
    for(int i=1;i<=n;i++)
    {
        cin>>a[i];
    }
    int ty,l,r;
    for(int i=1;i<=m;i++)
    {
        cin>>ty>>l>>r;
        if(ty==1)
        {
            int ans=1;
            for(int i=l;i<=r;i++)
            {
                ans=(ans*(a[i]%p1))%p1;
            }
            cout<<ans<<endl;
        }
        else if(ty==2)
        {
            int orz=1;
            for(int i=l;i<=r;i++)
            {
                orz=(orz*(a[i]%p2))%p2;
            }
            int ans=Pow(k,orz);
            cout<<ans<<endl;
        }
    }
}