题目简述:
现在有一个人XPXPXP想拉低一场电影的平均分,请问他最少要投几票。
即:现在有NNN个数的平均数保留一位小数为XXX,现在想要添加ttt个数,使得平均数保留一位小数为 YYY。
简要计算:
我们可以通过数学推导的方式得到答案:
首先,要添加的数应该越小越好,在本题中,添加的数应为 1。
于是我们就有:
N+t/XN+t≥YN+t /XN+t≥YN+t/XN+t≥Y
解这个不等式:
XN+t≥YN+YtXN+t≥YN+YtXN+t≥YN+Yt;
得到ttt的范围:t≥Y−1/XN−YNt≥ Y−1 / XN−YNt≥Y−1/XN−YN。
ttt在Y=XY=XY=X时为 0,要不然为大于等于Y−1/XN−YNY−1 / XN−YNY−1/XN−YN的最小整数。
坑点分析:
**注意,在最坏情况下,XXX应尽可能大,又因为平均得分四舍五入保留一位为XXX,故XXX应加上 0.049999999999。
**
再分析一下,XPXPXP要使ttt最小,YYY应靠近XXX,故YYY也应加上 0.049999999999。
且注意,XXX和YYY均小于 10。
同时,X×NX×NX×N的值为整数,所以要取整。
算出ttt后,再取ceilceilceil即可。
最后贴上ACACAC代码:
链接描述