Astral_Rider

Untitled

May 16th, 2023
570
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.97 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int maxn = 2e5 + 5;
  5. int a[maxn];
  6.  
  7. int main()
  8. {
  9.     int n, diff = 0;
  10.     cin >> n;
  11.     for (int i = 1; i <= n; i++)
  12.     {
  13.         cin >> a[i];
  14.         if (a[i] != a[i - 1] && i != 1)
  15.             diff = 1;
  16.     }
  17.  
  18.     if (!diff)
  19.         cout << a[1] * 2;
  20.     else
  21.     {
  22.         sort(a + 1, a + n + 1, greater<int>());
  23.         int cnt = unique(a + 1, a + n + 1) - (a + 1);
  24.  
  25.         int l = 0, r = 0;
  26.         for (int i = 1; i <= cnt; i++)
  27.         {
  28.             if (l == 0)
  29.                 l = a[i];
  30.             else if (r == 0)
  31.                 r = a[i];
  32.             else
  33.             {
  34.                 int lt = l - __gcd(l, a[i]),
  35.                     rt = r - __gcd(r, a[i]);
  36.                 if (lt < rt)
  37.                     l = __gcd(l, a[i]);
  38.                 else
  39.                     r = __gcd(r, a[i]);
  40.             }
  41.         }
  42.  
  43.         cout << l + r;
  44.     }
  45.  
  46.     system("Pause");
  47.     return 0;
  48. }
Advertisement
Add Comment
Please, Sign In to add comment