牛客寒假算法基础集训营6 A 出题
链接:https://ac.nowcoder.com/acm/contest/332/A
来源:牛客网
题目描述
小B准备出模拟赛。
她把题目按难度分为四等,分值分别为6,7,8,9。
已知小B共出了m道题,共n分。
求小B最少出了多少道6分题。
她把题目按难度分为四等,分值分别为6,7,8,9。
已知小B共出了m道题,共n分。
求小B最少出了多少道6分题。
输入描述:
两个正整数n,m
输出描述:
一个数,表示答案。
若无解,输出"jgzjgzjgz"。
示例1
输出
复制1
作者:kczno1
链接:https://ac.nowcoder.com/discuss/153349?type=101
来源:牛客网
显然,有解的充要条件为 6m≤n≤9m6m≤n≤9m 。
若有解:
设有 x(0≤x≤m)x(0≤x≤m) 道6分题,则剩下的m-x题共n-6x分,
则剩下的题有解的充要条件为 7(m−x)≤n−6x≤9(m−x)7(m−x)≤n−6x≤9(m−x) ,
解得 7m−n≤x≤(9m−n)/37m−n≤x≤(9m−n)/3 。
因此答案为max(0,7m-n)。
ac代码
#include <cstdio> int main() { long long n,m; scanf("%lld%lld",&n,&m); if(n<m*6||n>m*9) printf("jgzjgzjgz"); else { if(n<m*7) printf("%lld",m*7-n); else printf("0"); } return 0; }