AtCoder Grand Contest 003 D - Anticube

#include
#define N 100100
using namespace std;
typedef long long LL;
int prime[2200],len;
int n,m,ans;
LL l[N],r[N];
map ma;
int main(){
	for(int i=2;i<2200;i++){
		int fla=1;
		for(int j=2;j1e10) els=0;
				}
				while(t) f*=prime[j],t--;
			}
		}
		ma[f*a]++;
		l[i]=f*a,r[i]=els;
		long long w=(LL)sqrt(a);
		if(w*w!=a){
			if(a*r[i]<=1e10) r[i]*=a;
			else r[i]=0;
			if(a*r[i]<=1e10) r[i]*=a;
			else r[i]=0;
		}
		else{
			if(r[i]*w<=1e10) r[i]*=w;
			else r[i]=0;
		}
	}
	for(int i=0;i0);
	printf("%d\n",ans);
	return 0;
}

你可能感兴趣的:(AtCoder,乱搞,AtCoder,乱搞)