#pragma warning(disable:4996)
#include <stdio.h>
#include <math.h>
#include <algorithm>
using namespace std;
double a, b, c;
int n;
long long k;
long long comb[41][41];
int main()
{
scanf("%lf%lf%d%lld", &a, &b, &n, &k);
c = sqrt(a*a + b*b);
if (a>b) swap(a, b);
a /= c; b /= c;
comb[0][0] = 1;
for (int i=1; i<=n; i++) {
comb[i][0] = 1;
for (int j=1; j<=i; j++) comb[i][j] = comb[i-1][j-1] + comb[i-1][j];
}
for (int i=n; i>=0; i--) {
if (k <= comb[n][i]) {
int ae = 2*(n-i)+1, be = 2*i+1;
double ans = 2 * log(c) + ae * log(a) + be * log(b) - log(2.);
printf("%.15lf\n", ans);
break;
}
else k -= comb[n][i];
}
return 0;
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
1204 KB |
Output is correct |
2 |
Correct |
0 ms |
1204 KB |
Output is correct |
3 |
Correct |
0 ms |
1204 KB |
Output is correct |
4 |
Correct |
0 ms |
1204 KB |
Output is correct |
5 |
Correct |
0 ms |
1204 KB |
Output is correct |
6 |
Correct |
0 ms |
1204 KB |
Output is correct |
7 |
Correct |
0 ms |
1204 KB |
Output is correct |
8 |
Correct |
0 ms |
1204 KB |
Output is correct |
9 |
Correct |
0 ms |
1204 KB |
Output is correct |
10 |
Correct |
0 ms |
1204 KB |
Output is correct |
11 |
Correct |
0 ms |
1204 KB |
Output is correct |
12 |
Correct |
0 ms |
1204 KB |
Output is correct |
13 |
Correct |
0 ms |
1204 KB |
Output is correct |
14 |
Correct |
0 ms |
1204 KB |
Output is correct |
15 |
Correct |
0 ms |
1204 KB |
Output is correct |
16 |
Correct |
0 ms |
1204 KB |
Output is correct |
17 |
Correct |
0 ms |
1204 KB |
Output is correct |
18 |
Correct |
0 ms |
1204 KB |
Output is correct |
19 |
Correct |
0 ms |
1204 KB |
Output is correct |
20 |
Correct |
0 ms |
1204 KB |
Output is correct |
21 |
Correct |
0 ms |
1204 KB |
Output is correct |
22 |
Correct |
0 ms |
1204 KB |
Output is correct |
23 |
Correct |
0 ms |
1204 KB |
Output is correct |
24 |
Correct |
0 ms |
1204 KB |
Output is correct |
25 |
Correct |
0 ms |
1204 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
0 ms |
1204 KB |
Output is correct |
2 |
Correct |
0 ms |
1204 KB |
Output is correct |
3 |
Correct |
0 ms |
1204 KB |
Output is correct |
4 |
Correct |
0 ms |
1204 KB |
Output is correct |
5 |
Correct |
0 ms |
1204 KB |
Output is correct |
6 |
Correct |
0 ms |
1204 KB |
Output is correct |
7 |
Correct |
0 ms |
1204 KB |
Output is correct |
8 |
Correct |
0 ms |
1204 KB |
Output is correct |
9 |
Correct |
0 ms |
1204 KB |
Output is correct |
10 |
Correct |
0 ms |
1204 KB |
Output is correct |
11 |
Correct |
0 ms |
1204 KB |
Output is correct |
12 |
Correct |
0 ms |
1204 KB |
Output is correct |
13 |
Correct |
0 ms |
1204 KB |
Output is correct |
14 |
Correct |
0 ms |
1204 KB |
Output is correct |
15 |
Correct |
0 ms |
1204 KB |
Output is correct |
16 |
Correct |
0 ms |
1204 KB |
Output is correct |
17 |
Correct |
0 ms |
1204 KB |
Output is correct |
18 |
Correct |
0 ms |
1204 KB |
Output is correct |
19 |
Correct |
0 ms |
1204 KB |
Output is correct |
20 |
Correct |
0 ms |
1204 KB |
Output is correct |
21 |
Correct |
0 ms |
1204 KB |
Output is correct |
22 |
Correct |
0 ms |
1204 KB |
Output is correct |
23 |
Correct |
0 ms |
1204 KB |
Output is correct |
24 |
Correct |
0 ms |
1204 KB |
Output is correct |
25 |
Correct |
0 ms |
1204 KB |
Output is correct |