이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <cstdio>
#include <cmath>
using namespace std;
long long int cache[41][41];
long long int bino(int n, int r) {
if (r == 0 || n == r)
return 1;
if (cache[n][r])
return cache[n][r];
return cache[n][r] = bino(n - 1, r - 1) + bino(n - 1, r);
}
int main() {
int a, b, n, i, m;
long long int k;
cin >> a >> b >> n >> k;
for (i = 0; (k -= bino(n, i)) > 0ll; i++);
if (a > b) {
m = a;
a = b;
b = m;
}//a > b
double la = 2 * log(a), lb = 2 * log(b), lab = log(a * a + b * b);
printf("%.10f", (i * la + (n - i) * lb - n * lab) + log(a * (double)b / 2));
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |