返回首页 返回题库

奖品兑换

C++ 中等 GESP五级真题 #二分查找

题目描述

题面描述

班主任给上课专心听讲、认真完成作业的同学们分别发放了若干张课堂优秀券和作业优秀券。同学们可以使用这两种券找班主任兑换奖品。具体来说,可以使用 张课堂优秀券和 张作业优秀券兑换一份奖品,或者使用 张课堂优秀券和 张作业优秀券兑换一份奖品。

现在小 A 有 张课堂优秀券和 张作业优秀券,他最多能兑换多少份奖品呢?

输入格式

第一行,两个正整数 ,分别表示小 A 持有的课堂优秀券和作业优秀券的数量。

第二行,两个正整数 ,表示兑换一份奖品所需的两种券的数量。

输出格式

输出共一行,一个整数,表示最多能兑换的奖品份数。

样例1

输入:

8 8
2 1

输出:

5

样例2

输入:

314159 2653589
27 1828

输出:

1599

数据范围

对于 60% 的测试点,保证 ,。

对于所有测试点,保证 ,。

时间限制

1.0 s

内存限制

512.0 MB

💡 查看提示(先自己想一想再看)
核心考察二分查找的应用与数学不等式推导。解题思路:奖品份数具有单调性,可以二分答案;对于每个候选的奖品份数v,判断是否存在合法的兑换方案:假设其中x份用第一种兑换方式,(v-x)份用第二种,列出不等式推导可行条件;注意使用long long避免整数溢出。常见易错点:整数溢出、二分边界处理错误、a和b相等的特殊情况遗漏。
⚙ 开始做这道题 0 人做过 · 0 收藏 · 4 浏览

讨论(0)