0
点赞
收藏
分享

微信扫一扫

zzulioj 1802: SC借水 (暴力&条件判断)


1802: SC借水


Time Limit: 1 Sec   Memory Limit: 128 MB

Submit: 256  

Solved: 42


Submit

Status

Web Board


Description


一天,住在3号楼的SC向住在X号楼的WT借水喝,机智的WT会每隔K秒给SC倒一滴水

现在SC有一个容量为V的大杯子(可以装V滴水)

WT从1时刻开始计时,请问受众多女孩子追捧的SC在[S, E]这个时间段里可以用他的大杯子接到多少滴水?


Input


第一行一个正整数T(T <= 1000),表示有T组数据。

接下来每组数据占一行,每一行有四个整数V,K,S,E。(1 <= S <= E <= 10^9, 1 <= V <= 10^9,1 <= K <= 10^9)


Output


对每组输入,输出用杯子最多接多少滴水,单独占一行。


Sample Input


3


1 1 1 1


10 3 1 9


10 2 5 9


Sample Output


1


3


2


HINT


对于第三组数据,WT会分别在2、4、6、8、10、12……时刻滴一滴水,而SC接水的区间里只有6、8,所以SC可以接到2滴水。

#include<stdio.h>
#include<string.h>
#include<algorithm>
using namespace std;
int main()
{
	int t,v,k,s,e;
	int l,r,sum;
	scanf("%d",&t);
	while(t--)
	{
		scanf("%d%d%d%d",&v,&k,&s,&e);
		if(s%k)
			l=s/k;
		else
			l=s/k-1;
		r=e/k;
		sum=r-l;
		if(s==e)
		{
			if(s%k)
				printf("0\n");
			else
				printf("1\n");
		}
		else if(sum>v)
			printf("%d\n",v);
		else
			printf("%d\n",sum);
	}
	return 0;
}

 

举报

相关推荐

0 条评论