简单数学题。
答案=总数-不符合要求的数
一开始直接暴力枚举的,结果当然是超时了,然后稍微想一想就知道是一道数学题,可以直接算出答案的。
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <iostream>
using namespace std;
long long len, v, l, r;
int t;
int main() {
scanf("%d", &t);
while (t--) {
scanf("%lld %lld %lld %lld", &len, &v, &l, &r);
if ((r - l + 1) >= len) {
printf("0\n");
}
else {
long long ans = 0;
long long sum = len / v;
long long mod = l%v;
if (mod == 0) {
ans = sum - ((r - l) / v + 1);
}
else {
ans = sum - ((r - l + mod) / v);
}
printf("%lld\n", ans);
}
}
//system("pause");
return 0;
}