比赛 2025.10.18 评测结果 EEEEEEEEEE
题目名称 Willem, Chtholly and Seniorious 最终得分 0
用户昵称 梦那边的没好TM 运行时间 11.691 s
代码语言 C++ 内存使用 4.68 MiB
提交时间 2025-10-18 11:04:11
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

#define ll long long
#define cpy(a,b) copy(begin(a),end(a),begin(b))
#define ld long double
#define dot(x) fixed<<setprecision(x)
#define foru(a,b,c) for(ll a=b;a<=c;a++)

ll n,m,a[100005],b[100005];

ll ksm(ll a,ll e,ll mod){
    a%=mod;
    if(a<0)a+=mod;
    ll r=1;
    while(e>0){
        if(e&1)r=(r*a)%mod;
        a=(a*a)%mod;
        e>>=1;
    }
    return r;
}

int main(){
    freopen("kdl.in" ,"r",stdin );
    freopen("kdl.out","w",stdout);
    ios::sync_with_stdio(false);
    cin.tie(NULL);cout.tie(NULL);
    cin>>n>>m;
    foru(i,1,n)cin>>a[i];
    foru(i,1,m){
        ll l,r,op,x,y;
        cin>>op;
        if(op==1){
            cin>>l>>r>>x;
            foru(j,l,r)a[j]+=x;
        }else if(op==2){
            cin>>l>>r>>x;
            foru(j,l,r)a[j]=x;
        }else if(op==3){
            cin>>l>>r>>x;
            foru(i,l,r)b[i]=a[i];
            sort(b+l,b+r+1);
            cout<<b[l+x-1]<<endl;
        }else{
            cin>>l>>r>>x>>y;
            ll ans=0;
            foru(i,l,r){
                ans+=ksm(a[i],x,y);
            }
            cout<<ans%y<<endl;
        }
    }
    return 0;
}