2019杭电多校第七场 Final Exam HDU - 6651 (思维)

题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=6651

题意:一份试卷有n个题,一共m分,不知道每个题的分数分布,要求保证最少作对k个题,问最少的复习时间是多少

思路:换位思考一下,就是出题者如何让他做不出k道题,肯定是在复习时间最少的n-k+1道题上动手,使得这些题,每一个题的分数都等于他的复习时间。

换做考生,肯定需要把复习时间最少的n-k+1道题的复习时总和间为m+1。

k-1道题的分数则需要大于n-k+1道题中分数的最大值,由于最坏的情况是n-k+1的分数是平均分布,则k-1个题的分数则为

m  / (n - k + 1)  ,则复习时间是  m  / (n - k + 1)  + 1

 

 

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

 

你可能感兴趣的:(思维,构造)