比赛 寒假集训4 评测结果 AATTTTTTTT
题目名称 数据结构题 最终得分 20
用户昵称 梦那边的美好ME 运行时间 21.437 s
代码语言 C++ 内存使用 6.50 MiB
提交时间 2026-02-28 11:37:41
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
#define ll long long

ll n,m;
ll a[510000];

ll mpow(ll x,ll y,ll mod){
	ll ans=1,cnt=x%mod;
	while (y){
		if (y%2==1) ans=ans*cnt%mod;
		cnt=cnt*cnt%mod;
		y/=2;
	}
	return ans;
}

int main() {
	freopen("sjjgt.in","r",stdin);
	freopen("sjjgt.out","w",stdout);
	ios::sync_with_stdio(0);
	cin.tie(0);cout.tie(0);
	cin>>n>>m;
	for (int i=1;i<=n;i++){
		cin>>a[i];
	}
	while (m--){
		ll op,l,r,x;
		cin>>op>>l>>r>>x;
		if (op==1){
			for (int i=l;i<=r;i++){
				a[i]+=x;
			}
		}else{
			ll res=a[r];
			for (int i=r-1;i>=l;i--){
				res=mpow(a[i],res,x);
			}
			cout<<res<<endl;
		}
	}
	return 0;
}