当(n+a)/2为偶数时,此数最小
Higher h-index
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 (ax) 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 (ax) 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$. Source
Recommend
liuyiding
#define happy #include<bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int,int> pi; typedef pair<ll,ll> pl; typedef pair<ld,ld> pd; typedef vector<int> vi; typedef vector<ld> vd; typedef vector<ll> vl; typedef vector<pi> vpi; typedef vector<pl> vpl; #define rep(i,a,b) for(int i=a;i<=b;i++) #define per(i,a,b) for(int i=b-1;i>=a;i--) #define all(a) (a).begin(),(a).end() #define sz(x) (int)(x).size() #define mp make_pair #define pb push_back #define eb emplace_back #define f first #define s second ll rd(){ ll x=0,f=1;char ch=getchar(); while(ch<'0'||ch>'9'){if(ch=='-')f=-1;ch=getchar();} while(ch>='0'&&ch<='9'){x=x*10+ch-'0';ch=getchar();} return x*f; } const int N=1e4+10; int a,b; int main(){ #ifdef happy freopen("in.txt","r",stdin); #endif int n; while(~scanf("%d%d",&a,&b)){ printf("%d\n",(a+b)/2); } }