読者です 読者をやめる 読者になる 読者になる

メモ

yukicoderで遊んでいる競プロゆるふわ勢

yukicoder No.218 経験値1.5倍

問題はこちら
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