首页 > 技术文章 > HDOJ-6651(数学推导)

GarrettWale 2019-08-14 15:54 原文

Final Exam

HDOJ-6651

  1. 这里主要考察我们的思维能力,要想自己至少可以通过k道题目,那么可以从老师的角度出发:怎么才能尽可能让你每一道题目都不通过,但是分数却是固定的。
  2. 假设我们每道题目复习x分钟,要想让你这道题不过,则分数应该最小为x,那么你这道题就过不了。
  3. 为了自己k道题目可以过,那么一定要让前面的n-k+1道题目的分数大于m,到了老师没有分来分配的时候,剩下的就是可以通过的题目数了。
  4. 还有一个问题需要注意的是题目数据的大小,需要使用longlong型的,否则WA
    题目过程推导
#include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main(){
    int t;
    cin>>t;
    while(t--){
        long long n,m,k;
        cin>>n>>m>>k;
        long long total=(1+m/(n-k+1))*(k-1);
        total+=m+1;
        cout<<total<<endl;
    }
    return 0;
}

推荐阅读