TLE
查看原帖
TLE
921234
CRL_crl楼主2024/5/11 18:49

RT

#include <bits/stdc++.h>
using namespace std;
int main() {
    int n;
    cin >> n;
    vector<int> nums(n);
    for (int i = 0; i < n; ++i)
        cin >> nums[i];
    sort(nums.begin(), nums.end());
    vector<vector<int>> factors(n);
    for (int i = 0; i < n; ++i) {
        int cur_num = nums[i];
        for (int j = 1; j <= sqrt(cur_num); ++j) {
            if (cur_num % j == 0) {
                factors[i].push_back(j);
                if (j != cur_num / j)
                    factors[i].push_back(cur_num / j);
            }
        }
    }
    vector<int> ans;
    int max_gcd = 0;
    for (int i = 0; i < n; ++i) {
        for (int j = i + 1; j < n; ++j) {
            for (int k = j + 1; k < n; ++k) {
                int gcd = __gcd(nums[i], __gcd(nums[j], nums[k]));
                if (gcd > max_gcd) {
                    max_gcd = gcd;
                    ans = {nums[i], nums[j], nums[k]};
                }
            }
        }
    }
    sort(ans.begin(), ans.end());
    for (int i = 0; i < 3; ++i)
        cout << ans[i] << " ";
    return 0;
}

2024/5/11 18:49
加载中...