昨天写的代码,第二个测试点一直超时,求一个dl帮忙看看代码,哪里可以优化,谢谢了。
题目网址
#pragma GCC optimize(2)
#include<iostream>
#include<cstdio>
#include<cmath>
#include<cstring>
#include<string>
int arr[10000000];
using namespace std;
int main()
{
int t,d,j,num,ad,tip,k;
cin >> t;
for (int i=0; i < t; i++)
{
cin >> d;
for (j = 6;; j++)
{
memset(arr, 0, sizeof(arr));
num = 0;
tip = 1;
k = 1;
while(k<=j/2)
{
if (j % k == 0)
{
arr[num] = k;
num += 1;
}
k++;
}
if (num >= 3)
{
for (int l = 0; l < num - 1; l++)
{
if (arr[l + 1] - arr[l] < d)
{
tip = 0; break;
}
}
if (tip == 0)
continue;
else
{
cout << j << endl;
break;
}
}
}
}
return 0;
}