WA80pts输出负数,求助
查看原帖
WA80pts输出负数,求助
537998
lpx2024楼主2024/8/1 22:09

https://www.luogu.com.cn/record/169991657

#include<bits/stdc++.h>
using namespace std;
int cnt[100010],prime[10]={2,3,5,7,11,13,17,19,23,29};
int main(){
	int n,a,ans=0,s=0;
	scanf("%d",&n);
	cnt[0]=1;
	for(int i=1;i<=n;i++){
		scanf("%d",&a);
		int b=0;
		for(int i=0;i<10;i++){
			while(a%prime[i]==0){
				b^=(1<<i);
				a/=prime[i];
			}
		}
		s^=b;
		ans+=cnt[s];
		cnt[s]++;
	}
	cout<<ans;
	return 0;
}

加了#define int unsigned 就过了

2024/8/1 22:09
加载中...