Kirill plays a new computer game. He came to the potion store where he can buy any potion. Each potion is characterized by two integers — amount of experience and cost. The efficiency of a potion is the ratio of the amount of experience to the cost. Efficiency may be a non-integer number.
For each two integer numbers a and b such that l ≤ a ≤ r and x ≤ b ≤ y there is a potion with experience a and cost b in the store (that is, there are (r - l + 1)·(y - x + 1) potions).
Kirill wants to buy a potion which has efficiency k. Will he be able to do this?
First string contains five integer numbers l, r, x, y, k (1 ≤ l ≤ r ≤ 107, 1 ≤ x ≤ y ≤ 107, 1 ≤ k ≤ 107).
Print "YES" without quotes if a potion with efficiency exactly k can be bought in the store and "NO" without quotes otherwise.
You can output each of the letters in any register.
1 10 1 10 1
YES
1 5 6 10 1
NO
解题说明:给你两个区间l~r,x~y,问l~r这个区间中有没有可以整除k的数,并且得到的数在x~y这个区间里面的。 可以暴力枚举每一个x~y的区间,因为是整除所以就转化为乘法,当x~y中有一个数乘上k在l~r这个区间中的话那就是有的了。
#include<cstdio>
#include<iostream>
#include<string>
#include<cstring>
using namespace std;
int main()
{
int l, r, x, y;
double k;
int i;
cin >> l >> r >> x >> y >> k;
for (i = x; i <= y; i++)
{
if (i*k <= r && i*k >= l)
{
cout << "YES";
return 0;
}
}
cout << "NO";
return 0;
}