Description
Find the number of k-divisible numbers on the segment [a, b]. In other words you need to find the number of such integer values x thata ≤ x ≤ b and x is divisible by k.
Input
The only line contains three space-separated integers k, a and b (1 ≤ k ≤ 1018; - 1018 ≤ a ≤ b ≤ 1018).
Output
Print the required number.
Sample Input
Input
1 1 10
Output
10
Input
2 -4 4
Output
5
题很水 但我wa了好多次
#include<cstdio>
#include<cstring>
#include<cmath>
#include<queue>
#include<algorithm>
using namespace std;
int main()
{
long long k,a,b;
scanf("%lld%lld%lld",&k,&a,&b);
long long sum;
if(a>0)
{
sum=b/k-a/k;
if(a%k==0)
{
sum++;
}
}
if(b<0)
{
sum=(-a)/k-(-b)/k;
if((-b)%k==0)
{
sum++;
}
}
if(a==0)
{
sum=b/k+1;
}
if(b==0)
{
sum=(-a)/k+1;
}
if(a<0&&b>0)
{;
sum=b/k+(-a)/k+1;
}
printf("%lld
",sum);
return 0;
}