Advertisement
Josif_tepe

Untitled

Mar 20th, 2025
205
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.36 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. using namespace std;
  5. typedef long long ll;
  6.  
  7. void print_vector(vector<ll> v) {
  8.     sort(v.begin(), v.end());
  9.     for(int i = 0; i < (int) v.size(); i++) {
  10.         cout << v[i] << " ";
  11.     }
  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.     sort(v.begin(), v.end());
  20.    
  21.     ll diff = v[1] - v[0];
  22.     ll a_add = (diff + x - 1) / x;
  23.     if(n >= a_add) {
  24.         n -= a_add;
  25.         v[0] += a_add * x;
  26.     }
  27.     else {
  28.         v[0] += n * x;
  29.         print_vector(v);
  30.         return 0;
  31.  
  32.     }
  33.    
  34.     diff = v[2] - v[1];
  35.     ll diff2 = v[2] - v[0];
  36.     ll b_add = (diff / x) + (diff2 / x);
  37.    
  38.     if(n >= b_add) {
  39.         n -= b_add;
  40.        
  41.         v[1] += (diff / x) * x;
  42.         v[0] += (diff2 / x) * x;
  43.        
  44.     }
  45.     else {
  46.         v[0] += (n / 2) * x;
  47.         v[1] += ((n + 1) / 2) * x;
  48.         print_vector(v);
  49.         return 0;
  50.     }
  51.    
  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_vector(v);
  71.  
  72.    
  73.  
  74.     return 0;
  75. }
  76.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement