HHU 欧洲杯(血泪。。。)

本文介绍了一个关于球迷在酒吧消费并支付小费的算法问题,要求最终消费总额为5的倍数且小费占比合理。通过计算不同支付方案的数量,探讨了算法实现的细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1012: 欧洲杯

时间限制: 1 Sec   内存限制: 128 MB
提交: 107   解决: 26
[ 提交][ 状态][ 讨论版]

题目描述

两年一度的欧洲杯又开始了,小海可是一个铁杆球迷,每天晚上都会到XX酒吧观看激烈的比赛,而且小海有给小费的习惯,但是他给小费是由原则的:

1.       最终消费的总额必须是5的倍数;

2.       小费必须占最终支付总费用的5%~10%之间(包括边界)

假设小海在酒吧的消费是A元,小海带了B元来酒吧,小海想知道他有多少种支付方案供选择。

总费用 = 消费 + 小费

输入


多组测试数据,请处理到文件结束。

对于每组测试数据:

包含两个整数A和B。

1<=A,B<=2,000,000,000,A<=B。


输出


输出一个整数,代表方案数。


样例输入

4 10023 100

样例输出

01

提示

来源

河海ACM前辈-汪之涛

简直智障。。。当时比赛的时候各种wa,还找不出来错误,这次倒是短了不少,但是细节部分不好好处理,还是会wa,总之一定要细致,处理不能马虎啊,对了,向上取整用ceil函数,在cmath里面

#include <cstdio>
#include <cmath>
#include <cstring>
using namespace std;
typedef unsigned long long ull;
ull min(ull a,ull b)
{
	if(a<b) return a;
	else return b;
}
int main()
{
	//freopen("input.txt","r",stdin);
	ull a,b;
	while(scanf("%lld%lld",&a,&b)!=EOF)
	{
		double temp=a/19.0;
		//cout<<temp<<endl;
		ull e=a/9;
		//if(s==0) s++;
		ull s=ceil(temp);
		int counter=0;
		e=min(e,b-a);
		for(int i=s;i<=e;i++)
		{
			if((i+a)%5==0) counter++;
		}
		printf("%d\n",counter);
	}
 } 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值