HDOJ-6651(数学推导)
Final Exam
HDOJ-6651
- 这里主要考察我们的思维能力,要想自己至少可以通过k道题目,那么可以从老师的角度出发:怎么才能尽可能让你每一道题目都不通过,但是分数却是固定的。
- 假设我们每道题目复习x分钟,要想让你这道题不过,则分数应该最小为x,那么你这道题就过不了。
- 为了自己k道题目可以过,那么一定要让前面的n-k+1道题目的分数大于m,到了老师没有分来分配的时候,剩下的就是可以通过的题目数了。
- 还有一个问题需要注意的是题目数据的大小,需要使用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;
}
Either Excellent or Rusty