This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <cstdio>
#include <algorithm>
#include <cmath>
using namespace std;
long long ptri[60][60];
int main()
{
int a,b;
long long N, K;
scanf("%d%d%lld%lld",&a,&b,&N,&K);
for (int i = 0; i <= 50; i++) {
ptri[i][0] = ptri[i][i] = 1;
for (int j = 1; j < i; j++) {
ptri[i][j] = ptri[i-1][j] + ptri[i-1][j-1];
}
}
if (a < b) swap(a,b);
// now a > b
double A = log((double)(a*a)/(a*a+b*b));
double B = log((double)(b*b)/(a*a+b*b));
// A > B
for (int acnt = 0; acnt <= N; acnt++) {
K -= ptri[N][acnt];
if (K <= 0) {
printf("%.15f\n", log(a*b/2.0) + A * (N-acnt) + B*acnt);
return 0;
}
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |