Pagini recente »
Cod sursă (job #560707)
|
Istoria paginii runda/cel_mai_greu_concurs_luca_prunoiu/clasament
|
Statistici Toader Mihnea Gabriel (toadermihnea)
|
Istoria paginii utilizator/mariaflorina
|
Cod sursă (job #765697)
Cod sursă (job
#765697)
#include <bits/stdc++.h>
using namespace std;
using ll = long long;
bool f(int mid, int c, int t, int m, int x) {
int k = 0, scvs = 1, countdown = 0;
for(int i = 1; i <= mid; i++) {
if(countdown) --countdown;
k += (scvs*m);
if(k >= c && countdown == 0) {
int rem_days = mid-i+1-t;
if(rem_days * m > c) {
k -= c;
k -= (m * t);
scvs++;
}
countdown = t;
}
if(k >= x) return true;
}
return false;
}
int main()
{
freopen("scv.in", "r", stdin);
freopen("scv.out", "w", stdout);
ios_base::sync_with_stdio(0);
cin.tie(0);
int C, T, M, X;
cin >> C >> T >> M >> X;
int l = 1, r = (X/C+1);
while(l <= r) {
int mid = (l+r)/2;
if(f(mid, C, T, M, X)) {
r = mid-1;
}
else l = mid+1;
}
cout << l;
return 0;
}