G2A Many GEOs
SHARE
TWEET

Giải thưởng

Manh_LK Apr 9th, 2020 163 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #include<iostream>
  2. using namespace std;
  3. long long int A[100005];
  4. long long int B[100005];
  5. void sortA(int l, int r)
  6. {
  7.     long long int pivot = A[(l + r) / 2];
  8.     int i = l;
  9.     int j = r;
  10.     while (i <= j)
  11.     {
  12.         while (A[i] < pivot) i++;
  13.         while (A[j] > pivot) j--;
  14.         if (i <= j)
  15.         {
  16.             long long int tmpt = A[i];
  17.             A[i] = A[j];
  18.             A[j] = tmpt;
  19.             i++; j--;
  20.         }
  21.     }
  22.     if (l < j) sortA(l, j);
  23.     if (r > i) sortA(i, r);
  24. }
  25. void sortB(int l, int r)
  26. {
  27.     long long int pivot = B[(l + r) / 2];
  28.     int i = l;
  29.     int j = r;
  30.     while (i <= j)
  31.     {
  32.         while (B[i] < pivot) i++;
  33.         while (B[j] > pivot)j--;
  34.         if (i <= j)
  35.         {
  36.             long long int tmpt = B[i];
  37.             B[i] = B[j];
  38.             B[j] = tmpt;
  39.             i++; j--;
  40.         }
  41.     }
  42.     if (l < j) sortB(l, j);
  43.     if (r > i)sortB(i, r);
  44. }
  45. int main()
  46. {
  47.     freopen("input.txt", "r", stdin);
  48.     int n;
  49.     cin >> n;
  50.     for (int i = 0; i < n; i++)
  51.     {
  52.         cin >> A[i];
  53.     }
  54.     sortA(0, n - 1);
  55.     B[0] = A[0];
  56.     int index = 0;
  57.     long long int sum = A[0], res = 0;
  58.     for (int i = 1; i < n; i++)
  59.     {
  60.         if (B[index] == A[i])
  61.         {
  62.             sum += A[i];
  63.         }
  64.         else
  65.         {
  66.             B[index] = sum;
  67.             B[++index] = sum = A[i];
  68.         }
  69.     }
  70.     B[index] = sum;
  71.     sortB(0, index);
  72.     for (int i = 1; i <= index; i++)
  73.     {
  74.         res += B[i];
  75.     }
  76.     cout << res;
  77.     return 0;
  78. }
RAW Paste Data
Ledger Nano X - The secure hardware wallet
We use cookies for various purposes including analytics. By continuing to use Pastebin, you agree to our use of cookies as described in the Cookies Policy. OK, I Understand
Top