Kirill And The Game 题解
看大家要么直接 老爷大法来过这道题。
首先是边界问题。设
AC CODE
#include <bits/stdc++.h>
using namespace std;
#define int long long
signed main()
{
int l,r,x,y,k;
scanf("%lld%lld%lld%lld%lld",&l,&r,&x,&y,&k);
int ll=x,rr=y;
while(ll<=rr)//注意题目中的l和r和二分中的l和r不要搞混。
{
int mid=(ll+rr)/2;
if(mid*k>=l && mid*k<=r)
{
puts("YES");
return 0;
}
else
{
if(mid*k<l) ll=mid+1;
else rr=mid-1;
}
}
puts("NO");
}