Higher h-index
Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total Submission(s): 298 Accepted Submission(s): 187
Problem Description
The
h-index of an author is the largest
h where he has at least
h papers with citations not less than
h.
Bobo has no papers and he is going to publish some subsequently.
If he works on a paper for x hours, the paper will get (a⋅x) citations, where a is a known constant.
It's clear that x should be a positive integer.
There is also a trick -- one can cite his own papers published earlier.
Given Bobo has n working hours, find the maximum h-index of him.
Bobo has no papers and he is going to publish some subsequently.
If he works on a paper for x hours, the paper will get (a⋅x) citations, where a is a known constant.
It's clear that x should be a positive integer.
There is also a trick -- one can cite his own papers published earlier.
Given Bobo has n working hours, find the maximum h-index of him.
Input
The input consists of several test cases and is terminated by end-of-file.
Each test case contains two integers n and a.
Each test case contains two integers n and a.
Output
For each test case, print an integer which denotes the maximum
h-index.
## Constraint
* 1≤n≤109
* 0≤a≤n
* The number of test cases does not exceed 104.
## Constraint
* 1≤n≤109
* 0≤a≤n
* The number of test cases does not exceed 104.
Sample Input
3 0 3 1 1000000000 1000000000
Sample Output
1 2 1000000000
Hint
For the first sample, Bobo can work $3$ papers for $1$ hour each. With the trick mentioned, he will get papers with citations $2, 1, 0$. Thus, his $h$-index is $1$. For the second sample, Bobo can work $2$ papers for $1$ and $2$ hours respectively. He will get papers with citations $1 + 1, 2 + 0$. Thus, his $h$-index is $2$.
题意:
你有n个小时,你可以花任意的时间x(x>0)去写一篇论文,写完之后得到的论据有a*x
之后写的论文可以通过引用自己之前写的论文使得自己的论据+1,
譬如第3篇论文写的时候可以引用前面两篇使得自己的论据+2
解析:
官方题解:
最优⽅案是各花 1 ⼩时写 n 篇论⽂。答案是 ⌊(n+a)/2⌋.
题目第二组样例解释还有迷惑性...比赛的时候大佬猜中结论,一发解决...
#include <cstdio>
#include <cstring>
#include <algorithm>
#include <cmath>
using namespace std;
int main()
{
long long int n,a;
while(scanf("%lld%lld",&n,&a)!=EOF){
printf("%lld\n",(n+a)/2);
}
return 0;
}