问题 I: 糖果

问题 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 }

 

上一篇:【C++学习笔记】看完这篇,C++ 的链接问题不怕你搞不明白!


下一篇:C语言-----计算1*2*3+3*4*5+5*6*7+...+99*100*101的值