2019 Multi-University Training Contest 7 1006 Final Exam 思维题
思维题   发布于 2019-08-13   478人围观  0条评论
思维题   发表于 2019-08-13   478人围观  0条评论

题目大意

一场考试有n个题目,总共为m分,如果要通过一个分值为x的题目,需要复习x+1小时。

现在目标为通过至少k个题目,求问至少要复习多长时间。

题解

首先我们从出题老师的角度来看,怎么样才能让考生无法通过考试呢。

当然是让学生复习时间最少的n-k+1门科目不能通过考试,也就是要求让他们的复习时间恰好等于复习分数。

然后镜头转回学生,我们需要复习时间最少的n-k+1门复习时间最少的科目中有1门能通过就好了。

所以最后的答案是(m/(n-k+1)+1) *(k-1)+m+1.

代码

#include <cstdio>
#include <algorithm>
typedef long long ll;
using namespace std;
int T;
ll n, m, k;
int main(){
    scanf("%d", &T);
    while (T--){
        scanf("%lld%lld%lld", &n, &m, &k);
        ll p = m / (n - k + 1) + 1;
        ll ans = p * (k-1) + m + 1;
        printf("%lld\n",ans);
    }
    return 0;
} 


上一篇: 2019 Multi-University Training Contest 7 1010 Just Repeat

下一篇: Codeforces 1202B You Are Given a Decimal String... 最短路Floyd预处理

立即登录,发表评论
没有帐号?立即注册
0 条评论