60分TLE玄关
查看原帖
60分TLE玄关
1665658
OkoukiO楼主2025/7/1 11:45
#include <bits/stdc++.h>
using namespace std;
#define in cin
#define out cout
int gcd(int a, int b) {
	while (true) {
		if (a > b)
			a %= b;
		else
			b %= a;
		if (a == 0)
			return b;
		else if (b == 0)
			return a;
	}
}

int main() {
	int n, q;
	in >> n >> q;
	int a[n];
	for (int i = 0; i < n; i++)
		in >> a[i];
	for (int i = 1; i <= q; i++) {
		int Gcd = a[0] + i;
		for (int j = 0; j < n; j++) {
			Gcd = gcd(Gcd, a[j] + i);
			if (Gcd == 1)
				break;
		}
		out << Gcd << '\n';
	}
	return 0;
}

求优化。

2025/7/1 11:45
加载中...