Advertisement
Guest User

Untitled

a guest
Jan 7th, 2024
125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.81 KB | None | 0 0
  1. #include <bits/stdc++.h>
  2.  
  3. using namespace std;
  4.  
  5. const long long FOUR[] = {1, 2, 4};
  6. const long long FIVE[] = {1, 3, 5};
  7.  
  8. long long F(long long n, long long k) {
  9.     if (n < 3 || k == 0) {
  10.         return 0;
  11.     }
  12.     if (n % 3 == 0) {
  13.         return (n / 3) * k;
  14.     }
  15.     if (n == 4) {
  16.         --k;
  17.         return (k / 3) * FOUR[2] + FOUR[k % 3];
  18.     }
  19.     if (n == 5) {
  20.         --k;
  21.         return (k / 3) * FIVE[2] + FIVE[k % 3];
  22.     }
  23.     long long three = ((n / 3) - 1) * 3;
  24.     return F(three, k) + F(n - three, k);
  25. }
  26.  
  27. void solve() {
  28.     long long n, k;
  29.     cin >> n >> k;
  30.     cout << F(n, k) << '\n';
  31. }
  32.  
  33. int main() {
  34.     ios_base::sync_with_stdio(0);
  35.     cin.tie(0);
  36.    
  37.     int tc = 1;
  38.     cin >> tc;
  39.     for (int t = 1; t <= tc; t++) {
  40.         solve();
  41.     }
  42.    
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement