https://vjudge.net/contest/191431#problem/F
一个人杀一个怪物。
怪物初始血h。每当他的血小于1时就会死。
每回合人杀他a个血 会合后自己升b个血。
但每k回合人都要休息。
问能否杀掉怪物。
少考虑再 搏斗中 杀了怪物的情况。。
#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
/* 问题分析的不够透彻。
总共三种情况。
1 第一次就能杀。
2 进行了一个回合后是负数
3 再回合中杀掉。
*/
ll h,a,b,k;
int main()
{ ll h,a,b,k;
int tt=1;
while(~scanf("%lld%lld%lld%lld",&h,&a,&b,&k)){
if(!h&&!a&&!b&&!k) break;
printf("Case #%d: ",tt++);
if(a>=h||(a-b)*k>b||(a-b)*(k-1)+a>=h)
puts("YES");
else
puts("NO");
}
return 0;
}