Josif_tepe

Untitled

Dec 9th, 2025
27
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.35 KB | None | 0 0
  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. using namespace std;
  5.  
  6. typedef long long ll;
  7.  
  8.  
  9. void print(vector<ll> v) {
  10.     sort(v.begin(), v.end());
  11.     cout << v[0] << " " << v[1] << " " << v[2] << endl;
  12. }
  13. int main() {
  14.     vector<ll> v(3);
  15.     cin >> v[0] >> v[1] >> v[2];
  16.    
  17.     ll x, n;
  18.     cin >> x >> n;
  19.    
  20.     sort(v.begin(), v.end());
  21.     ll diff = v[1] - v[0];
  22.     ll a_add = (diff + x - 1) / x;
  23.    
  24.     if(n >= a_add) {
  25.         n -= a_add;
  26.         v[0] += a_add * x;
  27.     }
  28.     else {
  29.         v[0] += n * x;
  30.         print(v);
  31.         return 0;
  32.     }
  33.    
  34.     sort(v.begin(), v.end());
  35.     diff = v[2] - v[1];
  36.     ll diff2 = v[2] - v[0];
  37.     ll b_add = (diff / x) + (diff2 / x);
  38.    
  39.     if(n >= b_add) {
  40.         n -= b_add;
  41.         v[1] += (diff / x) * x;
  42.         v[0] += (diff2 / x) * x;
  43.     }
  44.     else {
  45.         v[0] += (n / 2) * x;
  46.         v[1] += ((n + 1) / 2) * x;
  47.         print(v);
  48.         return 0;
  49.     }
  50.    
  51.     sort(v.begin(), v.end());
  52.     ll c_add = n / 3;
  53.     v[0] += c_add * x;
  54.     v[1] += c_add * x;
  55.     v[2] += c_add * x;
  56.    
  57.     if(n % 3 == 2) {
  58.         v[0] += x;
  59.         v[1] += x;
  60.     }
  61.     else if(n % 3 == 1) {
  62.         if(v[0] <= v[1]) {
  63.             v[0] += x;
  64.         }
  65.         else {
  66.             v[1] += x;
  67.         }
  68.     }
  69.    
  70.     print(v);
  71.     return 0;
  72. }
  73.  
Advertisement
Add Comment
Please, Sign In to add comment