const int N=1100000; const int M=1<<20; vector<int>fac[N]; int main() { int lim=M>>1; for(int i=1;i<=lim;i++) for(int j=i;j<=M;j+=i) fac[j].push_back(i); for(int i=lim;i<=M;i++) fac[i].push_back(i); return 0; }
本机和洛谷跑了劲爆的 3s,欢乐爆零