#include using namespace std; using ll=long long; #define rep2(i, a, n) for(int i = (a); i < (n); i++) #define rep(i, n) rep2(i,0,n) int main(){ cin.tie(nullptr);ios_base::sync_with_stdio(false); //ある村には、村人から幻の木と呼ばれる木があります。 //この木は成長しきるとN枚の葉をつけますが、 //その後は1ヶ月ごとにM枚の葉を落としていき、いずれ全ての葉を落としきれば、 //もう二度と葉を付けることはありません。 //さらに、この村ではQヶ月間の「風の強い期間」があり、 //毎年P月から始まるこの期間中は、幻の木は2×M枚の葉を落としてしまいます。 //この村では1月の今、ちょうど幻の木が成長しきりました。 //葉を全て落とすのは何か月目か出力してください。 int n,m,p,q;cin>>n>>m>>p>>q; p--; vector fall(12,m); rep(i,q)fall[p+i]*=2; int cnt=0; for(;n>0;cnt++){ n-=fall[cnt%12]; //cout<