Submission #15402

#TimeUsernameProblemLanguageResultExecution timeMemory
15402skeksk91맛있는 과자 (kriii3_A)C++98
33 / 33
0 ms1204 KiB
#include<stdio.h> #include<algorithm> #include<math.h> long long pascal[41][41]; long long pow(long long n, long long k) { if (k == 0) { return 1; } long long temp = pow(n, k / 2); if (k % 2 == 0) { return temp*temp; } return temp*temp*n; } int main() { for (int i = 0; i <= 40; i++) { for (int j = 0; j <= i; j++) { if (j == 0 || j == i) { pascal[i][j] = 1; } else { pascal[i][j] = pascal[i - 1][j] + pascal[i - 1][j - 1]; } } } long long a, b, n, k; scanf("%lld%lld%lld%lld", &a, &b, &n, &k); if (a < b) { std::swap(a, b); } long long l = pow(2, n); double s = (double)a*b/2; for (int i = 0; i <= n; i++) { k -= pascal[n][i]; if (k <= 0) { for (int j = 1; j <= i; j++) { s = s*b*b / ((a*a) + (b*b)); } for (int j = 1; j <= n-i; j++) { s = s*a*a / ((a*a) + (b*b)); } break; } } printf("%.12lf", log(s)); }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...