yukicoder No.1048 Zero (Advanced)
以上以下の数から重複を許して個の和を取ったときにできる数の候補は、
以上以下である。 よって、以上以下での倍数がいくつあるか調べればよい。
間は全部できる系である。
int main() { ll L, R, M, K; cin >> L >> R >> M >> K; ll l = L*K; ll r = R*K; //[0,X]にあるMの倍数の個数 auto cnt = [&](ll X)->ll{ if(X < 0)return 0; return X / M + 1; }; if(cnt(r) - cnt(l-1) > 0){ cout << "Yes" << endl; } else{ cout << "No" << endl; }