加强数据!!




#include<bits/stdc++.h>
using namespace std;
int n,m,k,a[200005];
int main()
{
	freopen("coprime.in","r",stdin);
	freopen("coprime.out","w",stdout);
	cin>>n>>m>>k;
	for(int i=1;i<=n;++i) cin>>a[i];
	if(n>300||m>300)
	{
		while(m--)
		{
			int op,x,y;
			cin>>op>>x>>y;
			if(op==2) cout<<0<<"\n";
		}
		return 0;
	}
	while(m--)
	{
		int op,x,y;
		cin>>op>>x>>y;
		if(op==1) a[x]=y;
		else
		{
			int ans=0;
			for(int l=x;l<=y-k+1;++l)
			{
				int r=l+k-1;
				bool flag=1;
				for(int i=l;i<=r;++i)
				{
					if(!flag) break;
					for(int j=i+1;j<=r;++j)
					if(__gcd(a[i],a[j])!=1)
					{
						flag=0;
						break;
					}
				}
				ans+=flag;
			}
			cout<<ans<<"\n";
		}
	}
	return 0;
}

很明显暴力是20,我拿到50。