#include #include #include #include #include #include #include #include #include #include using namespace std; /***** Generic Code *****/ /* Generic declarations */ constexpr bool debug = false; constexpr float EPSILON = 1E-6; constexpr long long MOD = 1000000007; constexpr long long MAX_LONG = 9223372036854775807; typedef long long ll; typedef unsigned long long ull; typedef vector vi; #define dbg(message) if (debug) cout << message #define getArray(v, n) for (int i = 0; i < n; ++i) cin >> v[i]; /* Generic Functions */ template void printVector(const vector& v) { for (int i = 0 ; i < v.size() ; ++i) cout << v[i] << " "; cout << '\n'; } string join(const vector& v, const string& delim) { string s = v[0]; for (int i = 1; i < v.size(); ++i) { s += delim + v[i]; } return s; } /***** Custom Code *****/ /* Custom Classes */ /* Custom Variables */ /* Custom Functions */ int main() { ios_base::sync_with_stdio(false); cin.tie(0); int d, m, p, s; cin >> p >> d >> m >> s; int games = 0; while (s >= p) { s -= p; p -= d; if (p < m) p = m; ++games; } cout << games; return 0; }