Advertisement
Dmaxiya

宝石组合 参考代码

Mar 19th, 2025
137
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.96 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. typedef long long LL;
  5. const int maxn = 100000 + 100;
  6. int n, g;
  7. int num[maxn], cnt[maxn];
  8. vector<int> fac[maxn];
  9. vector<int> ans;
  10.  
  11. int main() {
  12. #ifdef ExRoc
  13.     freopen("test.txt", "r", stdin);
  14. #endif
  15.     ios::sync_with_stdio(false);
  16.  
  17.     for (int i = 1; i < maxn; ++i) {
  18.         for (int j = i; j < maxn; j += i) {
  19.             fac[j].push_back(i);
  20.         }
  21.     }
  22.     cin >> n;
  23.     for (int i = 0; i < n; ++i) {
  24.         cin >> num[i];
  25.         for (int j = 0; j < fac[num[i]].size(); ++j) {
  26.             ++cnt[fac[num[i]][j]];
  27.         }
  28.     }
  29.     for (int i = 1; i < maxn; ++i) {
  30.         if (cnt[i] >= 3) {
  31.             g = i;
  32.         }
  33.     }
  34.     sort(num, num + n);
  35.     for (int i = 0; i < n; ++i) {
  36.         if (num[i] % g == 0) {
  37.             ans.push_back(num[i]);
  38.         }
  39.     }
  40.     for (int i = 0; i < 3; ++i) {
  41.         cout << ans[i] << " ";
  42.     }
  43.     cout << endl;
  44.  
  45.     return 0;
  46. }
  47.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement