比赛 |
NOIP模拟赛by mzx Day2 |
评测结果 |
EEEEEEEEEE |
题目名称 |
学姐的巧克力盒 |
最终得分 |
0 |
用户昵称 |
Lare |
运行时间 |
1.254 s |
代码语言 |
C++ |
内存使用 |
0.31 MiB |
提交时间 |
2016-10-20 21:51:25 |
显示代码纯文本
#include<iostream>
#include<cstdio>
#include<cstring>
#define MAXN 100
using namespace std;
#define M 1000000007
int fp(int a,int b){
long long ret=1,pow=a;
while(b!=0){
if(b&1) ret=(ret*pow)%M;
pow=(pow*pow)%M;
b/=2;
}
return (int)ret;
}
int main()
{
freopen("chocolatebox.in","r",stdin);
freopen("chocolatebox.out","w",stdout);
int n,m,q,p1,p2;
int spkc[MAXN],xwzl[MAXN][3],ans[MAXN];
scanf("%d%d%d%d%d",n,m,q,p1,p2);
for(int i=1;i<=n;i++)
{
scanf("%d",&spkc[i]);
}
for(int j=1;j<=m;j++)
{
scanf("%d%d%d",&xwzl[m][1],&xwzl[m][2],&xwzl[m][3]);
}
for(int k=1;k<=m;k++)
{
if(xwzl[k][1]==1)
{
for(int l=xwzl[k][2];l<=xwzl[k][3];l++)
{
ans[k]*=spkc[xwzl[k][l]];
}
printf("%d\n",ans[k]%p1);
}
else
{
for(int l=xwzl[k][2];l<=xwzl[k][3];l++)
{
ans[k]*=spkc[xwzl[k][l]]*q;
}
printf("%d\n",ans[k]%p2);
}
}
fclose(stdin);
fclose(stdout);
return 0;
}