Submission #19097

#TimeUsernameProblemLanguageResultExecution timeMemory
19097Namnamseo맛있는 과자 (kriii3_A)C++14
33 / 33
0 ms1216 KiB
#include <cstdio> #include <algorithm> #include <cmath> using namespace std; typedef long long ll; ll combi[50][50]; void bc(){ combi[0][0]=1; int i,j; for(i=1;i<=40;++i){ combi[i][0]=combi[i][i]=1; for(j=1;j<i;++j) combi[i][j]=combi[i-1][j-1]+combi[i-1][j]; } } typedef pair<double,ll> pd; pd asdf[50]; int main() { bc(); int a,b,n; ll k; scanf("%d%d%d%lld",&a,&b,&n,&k); double r1=2*log(a)-log(a*a+b*b); double r2=2*log(b)-log(a*a+b*b); double s0=log(a)+log(b)-log(2); int i; for(i=0; i<=n; ++i){ asdf[i]={r1*i + r2*(n-i), combi[n][i]}; } sort(asdf,asdf+n+1,greater<pd>()); ll ind=0; for(i=0; i<=n; ++i){ ind += asdf[i].second; if(k<=ind){ printf("%.10f\n",asdf[i].first + s0); break; } } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...