| 比赛 |
寒假集训4 |
评测结果 |
WWTTTTTTTT |
| 题目名称 |
数据结构题 |
最终得分 |
0 |
| 用户昵称 |
LikableP |
运行时间 |
21.380 s |
| 代码语言 |
C++ |
内存使用 |
12.33 MiB |
| 提交时间 |
2026-02-28 11:27:52 |
显示代码纯文本
#include <cstdio>
typedef long long ll;
const int MAXN = 5e5 + 10;
int n, m;
ll a[MAXN];
ll kasumi(ll x, ll y, ll p) {
ll res = 1;
while (y) {
if (y & 1) res = res * x % p;
y >>= 1;
x = x * x % p;
}
return res;
}
ll kakasumi(int l, int r, ll p) {
if (l == r) return a[l] % p;
return kasumi(a[l], kakasumi(l + 1, r, p), p);
}
int main() {
#ifdef LOCAL
freopen("!input.in", "r", stdin);
freopen("!output.out", "w", stdout);
#else
freopen("sjjgt.in", "r", stdin);
freopen("sjjgt.out", "w", stdout);
#endif
scanf("%d %d", &n, &m);
for (int i = 1; i <= n; ++i) {
scanf("%lld", &a[i]);
}
while (m--) {
int op, l, r; ll x, p;
scanf("%d %d %d", &op, &l, &r);
if (op == 1) {
scanf("%lld", &x);
for (int i = l; i <= r; ++i) a[i] += x;
} else {
scanf("%lld", &p);
printf("%lld\n", kakasumi(l, r, p));
}
}
return 0;
}