问题 I: 糖果
时间限制: 1 Sec 内存限制: 128 MB提交 状态
题目描述
有N个小朋友,小朋友的编号从1至N。他们按照编号从小到大,从左往右排成一行,新年快到了,数学老师和英语老师给一些小朋友分发糖果。数学老师给编号是a至b之间的小朋友每人分发一颗糖果(包括编号是a和编号是b的小朋友)。英语老师给编号是c至d之间的小朋友每人分发一颗糖果(包括编号是c和编号是d的小朋友)。现在的问题是:有多少个小朋友分到了糖果?输入
一行,四个整数:a,b,c,d。输出
一个整数,表示分到糖果的小朋友的数量。样例输入 Copy
3 6 1 5
样例输出 Copy
6
提示
编号是1,2,3,4,5,6的小朋友分到了糖果。对于80%的数据,N = 100,1<=a<=b<=N, 1<=c<=d<=N
对于100%的数据,N =2000000000, 1<=a<=b<=N, 1<=c<=d<=N
1 #include <stdio.h> 2 int main() 3 { 4 long a,b,c,d,min,max; 5 scanf("%ld%ld%ld%ld",&a,&b,&c,&d); 6 if(a<c) min=a; 7 else min=c;////寻找临界左值 8 if(b>d) max=b; 9 else max=d;////寻找临界右值 10 if(b>=c) 11 printf("%ld",max-min+1); 12 else 13 printf("%ld",b-a+d-c+2); 14 return 0; 15 }