Advertisement
ivnikkk

Untitled

Dec 7th, 2021
50
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <algorithm>
  4. #include <cmath>
  5. #include <iomanip>
  6. #include <fstream>
  7. #include <string>
  8. #include <set>
  9. #include <deque>
  10. #include <queue>
  11. #include <map>
  12. #include <bitset>
  13. #include <random>
  14. #include <cassert>
  15. #include <unordered_map>
  16. #include <unordered_set>
  17. using namespace std;
  18. typedef long long              ll;
  19. typedef unsigned long long     ull;
  20. typedef long double            ld;
  21. #define sqrt              sqrtl
  22. #define endl              "\n"
  23. #define all(a)            a.begin(), a.end()
  24. #define allr(a)           a.rbegin(), a.rend()
  25. #define pb                push_back
  26. #define F                 first
  27. #define S                 second
  28. #pragma GCC target("avx2")
  29. #pragma GCC optimize("O3")
  30. #pragma GCC optimize("Ofast")
  31. void solve() {
  32.     ll l, w, h;
  33.     cin >> l >> w >> h;
  34.     vector < vector < ll>>dp(l + 1, vector<ll>(w + 1, 0));
  35.     for (ll i = 0; i <= l; i++) {
  36.         dp[i][0] = 1;
  37.     }
  38.     for (ll j = 0; j <= l; j++)
  39.         for (ll i = 1; i <= w; i++)
  40.             for (ll k = 0; k <= min(j, h); k++)
  41.                 dp[j][i] += dp[j - k][i - 1];
  42.     ll no_tr = 0, bif = l;
  43.     for (ll j = 1; j <= min(h, l); j++)
  44.         no_tr += min(bif / j, w);
  45.     cout << dp[l][w] - no_tr;
  46. }
  47.  
  48. signed main() {
  49.     ios_base::sync_with_stdio(false);
  50.     cin.tie(nullptr);
  51.     ll t = 1;
  52.     //cin >> t;
  53.     while (t--) {
  54.         //cout << "Case #" << buffer << ' ';
  55.         solve();
  56.         //cout << endl;
  57.     }
  58. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement