比赛 |
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;
}
}
}