昨晚 B,下面这份代码中的 x 和 y 的值有什么区别吗?为啥把 y 换成 x 就错了。
#include<bits/stdc++.h>
using namespace std;
#define int long long
#define inf 0x3f
#define inf_db 127
#define ls id << 1
#define rs id << 1 | 1
#define re register
#define endl '\n'
typedef pair <int,int> pii;
int a,m,l,r,L;
signed main()
{
cin >> a >> m >> l >> r;
if(l <= a) L = a - (a - l) / m * m;
else
{
int x = ceil(1.0 * (l - a) / m);
int y = (l - a + m - 1) / m;
L = a + y * m;
}
if(L > r) cout << "0";
else cout << (r - L) / m + 1;
return 0;
}