Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <algorithm>
- #include <cmath>
- #include <iomanip>
- #include <fstream>
- #include <string>
- #include <set>
- #include <deque>
- #include <queue>
- #include <map>
- #include <bitset>
- #include <random>
- #include <cassert>
- #include <unordered_map>
- #include <unordered_set>
- using namespace std;
- typedef long long ll;
- typedef unsigned long long ull;
- typedef long double ld;
- #define sqrt sqrtl
- #define endl "\n"
- #define all(a) a.begin(), a.end()
- #define allr(a) a.rbegin(), a.rend()
- #define pb push_back
- #define F first
- #define S second
- #pragma GCC target("avx2")
- #pragma GCC optimize("O3")
- #pragma GCC optimize("Ofast")
- void solve() {
- ll l, w, h;
- cin >> l >> w >> h;
- vector < vector < ll>>dp(l + 1, vector<ll>(w + 1, 0));
- for (ll i = 0; i <= l; i++) {
- dp[i][0] = 1;
- }
- for (ll j = 0; j <= l; j++)
- for (ll i = 1; i <= w; i++)
- for (ll k = 0; k <= min(j, h); k++)
- dp[j][i] += dp[j - k][i - 1];
- ll no_tr = 0, bif = l;
- for (ll j = 1; j <= min(h, l); j++)
- no_tr += min(bif / j, w);
- cout << dp[l][w] - no_tr;
- }
- signed main() {
- ios_base::sync_with_stdio(false);
- cin.tie(nullptr);
- ll t = 1;
- //cin >> t;
- while (t--) {
- //cout << "Case #" << buffer << ' ';
- solve();
- //cout << endl;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement