蒟蒻的疑惑
查看原帖
蒟蒻的疑惑
590600
Kreado楼主2022/8/17 21:29

这里是代码:

#include <bits/stdc++.h>
#define ll int
#define llint long long
llint Maxn;
ll n,b[2000001],num,p,maxn;
using namespace std;
int main(){
	scanf("%d",&n);
	for(ll i=1;i<=n;i++){
		scanf("%d",&num);
		maxn=max(maxn,num);
		for(ll j=1;j<=sqrt(num);j++){
			if(!(num%j)){
				if(j==num/j){
					b[j]+=1;
					continue;
				}		
				b[j]+=1,b[num/j]+=1;	
			}
		}
	}
	for(ll i=1;i<=maxn;i++)
		if(b[i]>=2)
			Maxn=max(Maxn,1ll*b[i]*i);
	printf("%lld",Maxn);
	return 0;
}

为什么第 1515 行和第 1818+= 改成 ++ 会多 TLE 一个点,为什么这里的所有变量名改成 long long 类型,会多 TLE 两个点啊?

2022/8/17 21:29
加载中...