今晚CF rou696 div.2 B题超时问题
  • 板块学术版
  • 楼主zzx2002
  • 当前回复10
  • 已保存回复10
  • 发布时间2021/1/20 00:06
  • 上次更新2023/11/5 04:39:03
查看原帖
今晚CF rou696 div.2 B题超时问题
446375
zzx2002楼主2021/1/20 00:06

昨天写的代码,第二个测试点一直超时,求一个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;
}
2021/1/20 00:06
加载中...