Anxdada的询问(easy)

TimeLimit:1000MS  MemoryLimit:128MB
64-bit integer IO format:%lld
未提交 | 登录后收藏
Problem Description

Anxdada提了一个问题, 他想考考fold:

给出一个长度为n(1≤n≤1000)的数组a(下标从1开始), Anxdada有q(1≤q≤1000)个询问, 对于每次询问: 他想知道数组a中下标在区间[l,r]中所有数字的乘积对固定数字p(1≤p≤1000000000)取余后的结果是多少?

由于这个问题太难了, fold回答不上来.

所以Anxdada简化了一下问题: 保证这次询问的区间[l,r]相比上一次询问(如果存在)的区间[l',r']都有1≤l'≤l≤n 1≤r'≤r≤n

这个问题依然很难, 你能帮帮fold解决这个问题吗?

Input

第一行有2个整数n(1≤n≤1000)和p(1≤p≤1000000000), 含义如题面所述

第二行包含n个整数代表数组a中的元素(0a[i]1000000000)

第三行包含一个整数q(1≤q≤1000), 代表询问的个数

接下来q行, 每一行包含2个整数li, ri(1≤li≤rin), 代表Anxdada的询问区间是[li, ri]

对于任意的1<i≤q, 都满足: 1≤li-1≤li≤n 1≤ri-1≤rin

Output

输出q行, 每一行一个非负整数表示询问的答案

SampleInput
3 7
1 2 3
2
1 2
2 3
SampleOutput
2
6
Submit
题目统计信息详细
总AC数130
通过人数108
尝试人数127
总提交量464
AC率23.28%
AC该题后可以添加标签
贴完标签可以获得20ACB。
并且可以获得本题所有提交代码查看权限。
点击标题可以显示标签。
如果你还没认真思考过这题,请不要查看标签
如果您已经通过了该题,请务为该题贴上标签
作者
@fold

T^T Online Judge

[BUG反馈] [FAQ] [闽ICP备17026590号-1]
当前版本:3.24 系统时间: