問題はこちら
No.218 経験値1.5倍 - yukicoder
必要な素材の個数はそれぞれceil(a/b)、ceil(a/c)で計算できる。
ceil(a/b)≦ceil(a/c)*2/3 かどうかを確かめれば良い
int main(){ int a,b,c; scanf("%d%d%d",&a,&b,&c); b=(a-1+b)/b; c=(a-1+c)/c; puts(c>b*2/3?"NO":"YES"); //左辺は整数なので、右辺も整数に切り捨ててしまって問題ない return 0; }
a,b,c>0よりceil(a/b)は(a-1)/b+1で計算できるのでもうちょっとまとめられる
a,b;main(c){a=scanf("%d%d%d",&a,&b,&c)>puts(--a/c*3<a/b*2?"YES":"NO");}
不等式は左辺から評価される処理系依存の未定義動作
71B