求助卡常 88pts
查看原帖
求助卡常 88pts
875806
liupan2010楼主2023/3/31 21:16

主要是不会快读快写和循环展开。

#include<bits/stdc++.h>
using namespace std;
int i,j,l,r,x,n,m,type,num[100001];
long long s;
int main()
{
	scanf("%d%d",&n,&m);
	for(register int i=1;i<=n;i++)
	    scanf("%d",&num[i]);
	for(i=1;i<=m;i++)
	{
		scanf("%d",&type);
		if(type==1)
		{
			scanf("%d%d%d",&l,&r,&x);
			for(register int j=l;j<=r;j++)
			    if(num[j]%x==0)
			    	num[j]/=x;
		}
		else
		{
		    s=0;
			scanf("%d%d",&l,&r);
			for(register int j=l;j<=r;j++)
				s+=num[j];
			printf("%lld\n",s);
		}
	}
	return 0;
}
2023/3/31 21:16
加载中...