比赛 2026.1.3 评测结果 AAAWWWWWWW
题目名称 团子大家族 最终得分 30
用户昵称 彭欣越 运行时间 0.087 s
代码语言 C++ 内存使用 3.71 MiB
提交时间 2026-01-03 10:46:52
显示代码纯文本
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
const int N=1010;
ll n,m,a[N],f[N],cnt[N];
int main () {
	freopen("seqsqrt.in","r",stdin);
	freopen("seqsqrt.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];
	}
	for (int i=1;i<=m;i++) {
		cin >> f[i];
		cnt[f[i]]++;
	}
	while (m--) {
		int op,l,r,x;
		cin >> op >> l >> r;
		if (op==1) {
			cin >> x;
			for (int i=l;i<=r;i++) a[i]+=x;
		}else if (op==2) {
		    cnt[f[l]]--,cnt[r]++;
			f[l]=r;
		}else{
			cin >> x;
			ll sum=0;
			for (int i=l;i<=r;i++) {
				if (f[i]==x) sum+=a[i];
			}
			sum*=cnt[x];
			cout << sum <<endl;
		}
	}
    return 0;
}