Advertisement
Valkyrie006

Untitled

Oct 13th, 2021
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.09 KB | None | 0 0
  1. void solve()
  2. {
  3.     ll n;
  4.     cin >> n;
  5.     vector<ll> A(n);
  6.     for (ll i = 0; i < n; i++)
  7.         cin >> A[i];
  8.     ll mx = accumulate(A.begin(), A.end(), 0LL) / 2;
  9.     vector<vector<ll>> ans(3);
  10.     ll i = 0, sum = 0;
  11.     for (i; i < n - 2; i++)
  12.     {
  13.         if (mx >= sum + A[i] || ans[0].size() == 0)
  14.         {
  15.             sum += A[i];
  16.             ans[0].push_back(A[i]);
  17.         }
  18.     }
  19.     sum = 0;
  20.     for (i; i < n - 1; i++)
  21.     {
  22.         if (mx >= sum + A[i] || ans[1].size() == 0)
  23.         {
  24.             sum += A[i];
  25.             ans[1].push_back(A[i]);
  26.         }
  27.     }
  28.     sum = 0;
  29.     for (i; i < n; i++)
  30.     {
  31.         if (mx >= sum + A[i] || ans[2].size() == 0)
  32.         {
  33.             sum += A[i];
  34.             ans[2].push_back(A[i]);
  35.         }
  36.     }
  37.     if (i != n)
  38.     {
  39.         cout << "NO" << endl;
  40.     }
  41.     else
  42.     {
  43.         cout << "YES" << endl;
  44.         for (ll i = 0; i < 3; i++)
  45.         {
  46.             for (auto a : ans[i])
  47.             {
  48.                 cout << a << " ";
  49.             }
  50.             cout << endl;
  51.         }
  52.     }
  53.     return;
  54. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement