求调
查看原帖
求调
1251525
wisdom2010楼主2025/1/14 21:05
#include<bits/stdc++.h>
using namespace std;
int n, m;
const int maxn = 1e6;
int a[maxn];
int z[maxn];
int cnt = 0;
int main()
{
	ios :: sync_with_stdio(false);
	cin.tie(0);
	cout.tie(0);
	cin >> n >> m;
	for(int i = 1; i <= n; i++)
		cin >> a[i];
	while(m--)
	{
		int op;
		cin >> op;
		if(op == 1)
		{
			int c, b;
			cin >> c >> b;
			z[c]= b;
		}
		if(op == 2)
		{
			int j;
			cin >> j;
			int k = a[j];
			for(int i = 1; i <= sqrt(j); i++)
			{
				if(j % i == 0 && i * i != j)
					k += z[i] + z[j / i];
				if(j % i == 0 && i * i == j)
					k += z[i];
			}
			cout << k << "\n";
		}
	}
	return 0;
}
2025/1/14 21:05
加载中...