50分求助
  • 板块P1483 序列变换
  • 楼主cjrawa
  • 当前回复0
  • 已保存回复0
  • 发布时间2021/6/29 22:37
  • 上次更新2023/11/4 21:18:20
查看原帖
50分求助
523641
cjrawa楼主2021/6/29 22:37

题解思路打的 5050分 求大佬帮忙看看哪儿错了

#include<bits/stdc++.h>
using namespace std;
long long n,m,k,d,x,y;
int a[1000005],h[100005];
int main()
{
	cin>>n>>m;
	for(int i=1;i<=n;i++)scanf("%d",&a[i]);
	for(int i=1;i<=m;i++)
	{
		scanf("%lld",&d);
		if(d==1)k++,scanf("%lld%lld",&x,&y),h[x]+=y;
		if(d==2)
		{
			scanf("%lld",&x);
			int ans=a[x];
			for(int j=1;j<=sqrt(x);j++)
				if(x%j==0)
				{
					if(h[j])ans+=h[j];
					if(x/j!=j&&h[x/j])ans+=h[x/j];
				}
			printf("%d\n",ans);
		}
	}
	return 0;
}
2021/6/29 22:37
加载中...