QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#35331 | #968. Extreme Wealth | Froggygua | AC ✓ | 32ms | 3900kb | C++17 | 1.4kb | 2022-06-15 09:45:13 | 2022-06-15 09:45:15 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
#define N 2020
typedef long long ll;
const long double PI=acosl(-1.0L);
ll n,m;
long double dp[N][N];
long double Get(ll n){
if(!n)return 0;
return n*logl(n)-n+0.5L*logl(2.0L*n*PI);
}
int main(){
ios::sync_with_stdio(false);
cin.tie(0);
cout.setf(ios::fixed);
cout.precision(10);
cin>>n>>m;
/*
for(int i=0;i<=n;++i){
for(int j=0;j<=m;++j){
if(!i){
dp[i][j]=powl(2.0L,j);
}
else if(!j){
dp[i][j]=powl(2.0L,i);
}
else{
long double X=dp[i-1][j],Y=dp[i][j-1];
dp[i][j]=2.0*X*Y/(X+Y);
}
}
}
if(dp[n][m]>1e9){
cout<<"Extreme Wealth\n";
return 0;
}
cout<<dp[n][m]<<'\n';
return 0;
*/
if(n>m)swap(n,m);
if(n<=1000000){
long double ans=1;
int p=1;
for(int i=1;i<=n+m;++i){
ans*=2;
while(ans>1&&p<=n){
ans=ans*p/(m+p);
++p;
}
if(ans>1e20){
cout<<"Extreme Wealth\n";
return 0;
}
}
if(ans>1e9){
cout<<"Extreme Wealth\n";
return 0;
}
cout<<ans<<'\n';
return 0;
}
/*
long double X=logl(2.0L)*(n+m);
long double Y=Get(n+m)-Get(n)-Get(m);
if(X-Y>30||expl(X-Y)>1e9){
cout<<"Extreme Wealth\n";
return 0;
}
cout<<expl(X-Y)<<'\n';
*/
long double ans=sqrtl(PI*n)*(1+1/(8.0L*n));
for(ll i=n;i<m;i++){
ans*=2.0L*(i+1)/(n+i+1);
if(ans>1e9){
cout<<"Extreme Wealth\n";
return 0;
}
}
cout<<ans<<'\n';
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 2ms
memory: 3724kb
input:
3 2
output:
3.2000000000
result:
ok OK 3.20000000, real ans = 3.20000000, error = 0.00000000
Test #2:
score: 0
Accepted
time: 1ms
memory: 3696kb
input:
0 29
output:
536870912.0000000000
result:
ok OK 536870912.00000000, real ans = 536870912.00000000, error = 0.00000000
Test #3:
score: 0
Accepted
time: 2ms
memory: 3592kb
input:
30 0
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1073741824.00000000
Test #4:
score: 0
Accepted
time: 2ms
memory: 3692kb
input:
37 73
output:
5028.4888595832
result:
ok OK 5028.48885958, real ans = 5028.48885958, error = 0.00000000
Test #5:
score: 0
Accepted
time: 2ms
memory: 3764kb
input:
10000000000 10000000000
output:
177245.3850927672
result:
ok OK 177245.38509277, real ans = 177245.38509055, error = 0.00000000
Test #6:
score: 0
Accepted
time: 0ms
memory: 3900kb
input:
10000000000 9999412550
output:
989753719.1448088791
result:
ok OK 989753719.14480889, real ans = 989753719.13242424, error = 0.00000000
Test #7:
score: 0
Accepted
time: 3ms
memory: 3692kb
input:
10000000000 9999412400
output:
994124819.3557446135
result:
ok OK 994124819.35574460, real ans = 994124819.34340525, error = 0.00000000
Test #8:
score: 0
Accepted
time: 3ms
memory: 3760kb
input:
10000000000 9999412200
output:
999984746.7545360293
result:
ok OK 999984746.75453603, real ans = 999984746.74201429, error = 0.00000000
Test #9:
score: 0
Accepted
time: 1ms
memory: 3592kb
input:
10000000000 9999412199
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1000014138.02130949
Test #10:
score: 0
Accepted
time: 3ms
memory: 3588kb
input:
10000000000 9999411862
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1009971237.25187039
Test #11:
score: 0
Accepted
time: 3ms
memory: 3572kb
input:
10000000000 9999411861
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1010000939.12199187
Test #12:
score: 0
Accepted
time: 2ms
memory: 3600kb
input:
1000000000 100000000
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 2000288524.07298231
Test #13:
score: 0
Accepted
time: 2ms
memory: 3836kb
input:
999900000 999999999
output:
682861.8616058203
result:
ok OK 682861.86160582, real ans = 682861.86152047, error = 0.00000000
Test #14:
score: 0
Accepted
time: 3ms
memory: 3756kb
input:
100000 100500
output:
1046.8242075264
result:
ok OK 1046.82420753, real ans = 1046.82420753, error = 0.00000000
Test #15:
score: 0
Accepted
time: 2ms
memory: 3740kb
input:
1000000000000 1000000000000
output:
1772453.8509057376
result:
ok OK 1772453.85090574, real ans = 1772453.85090552, error = 0.00000000
Test #16:
score: 0
Accepted
time: 12ms
memory: 3836kb
input:
1000000000000 999995000000
output:
918167024.4956128036
result:
ok OK 918167024.49561286, real ans = 918167024.49532175, error = 0.00000000
Test #17:
score: 0
Accepted
time: 9ms
memory: 3772kb
input:
1000000000000 999994970000
output:
989900658.7607234559
result:
ok OK 989900658.76072347, real ans = 989900658.76037264, error = 0.00000000
Test #18:
score: 0
Accepted
time: 12ms
memory: 3756kb
input:
1000000000000 999994969900
output:
990149653.4758288875
result:
ok OK 990149653.47582889, real ans = 990149653.47589362, error = 0.00000000
Test #19:
score: 0
Accepted
time: 12ms
memory: 3900kb
input:
1000000000000 999994965966
output:
999998930.0113503719
result:
ok OK 999998930.01135039, real ans = 999998930.01106715, error = 0.00000000
Test #20:
score: 0
Accepted
time: 12ms
memory: 3616kb
input:
1000000000000 999994965965
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1000001447.03807712
Test #21:
score: 0
Accepted
time: 12ms
memory: 3604kb
input:
1000000000000 999994962200
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1009526689.33672678
Test #22:
score: 0
Accepted
time: 12ms
memory: 3592kb
input:
1000000000000 999994962000
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1010035408.79225361
Test #23:
score: 0
Accepted
time: 2ms
memory: 3896kb
input:
10000000000000 10000000000000
output:
5604991.2163979988
result:
ok OK 5604991.21639800, real ans = 5604991.21639793, error = 0.00000000
Test #24:
score: 0
Accepted
time: 31ms
memory: 3688kb
input:
10000000000000 9999985614000
output:
989882007.1995391839
result:
ok OK 989882007.19953918, real ans = 989882007.19958651, error = 0.00000000
Test #25:
score: 0
Accepted
time: 31ms
memory: 3700kb
input:
10000000000000 9999985613835
output:
989999498.6191527924
result:
ok OK 989999498.61915278, real ans = 989999498.61902094, error = 0.00000000
Test #26:
score: 0
Accepted
time: 31ms
memory: 3712kb
input:
10000000000000 9999985613834
output:
990000210.7349844564
result:
ok OK 990000210.73498440, real ans = 990000210.73484683, error = 0.00000000
Test #27:
score: 0
Accepted
time: 31ms
memory: 3728kb
input:
10000000000000 9999985599900
output:
999977583.4988591257
result:
ok OK 999977583.49885917, real ans = 999977583.49870884, error = 0.00000000
Test #28:
score: 0
Accepted
time: 31ms
memory: 3576kb
input:
10000000000000 9999985586056
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1009999801.48704243
Test #29:
score: 0
Accepted
time: 32ms
memory: 3620kb
input:
10000000000000 9999985586055
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1010000529.39213884
Test #30:
score: 0
Accepted
time: 27ms
memory: 3644kb
input:
10000000000000 9999985486055
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 1085749634.67051625
Test #31:
score: 0
Accepted
time: 32ms
memory: 3616kb
input:
10000000000000 9999905586055
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 2000000758.78793645
Test #32:
score: 0
Accepted
time: 8ms
memory: 3568kb
input:
10000000000000 1000000000000
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 2000003461.21803880
Test #33:
score: 0
Accepted
time: 1ms
memory: 3760kb
input:
0 0
output:
1.0000000000
result:
ok OK 1.00000000, real ans = 1.00000000, error = 0.00000000
Test #34:
score: 0
Accepted
time: 0ms
memory: 3760kb
input:
0 1
output:
2.0000000000
result:
ok OK 2.00000000, real ans = 2.00000000, error = 0.00000000
Test #35:
score: 0
Accepted
time: 1ms
memory: 3728kb
input:
1 1
output:
2.0000000000
result:
ok OK 2.00000000, real ans = 2.00000000, error = 0.00000000
Test #36:
score: 0
Accepted
time: 2ms
memory: 3696kb
input:
0 2
output:
4.0000000000
result:
ok OK 4.00000000, real ans = 4.00000000, error = 0.00000000
Test #37:
score: 0
Accepted
time: 2ms
memory: 3712kb
input:
1 2
output:
2.6666666667
result:
ok OK 2.66666667, real ans = 2.66666667, error = 0.00000000
Test #38:
score: 0
Accepted
time: 2ms
memory: 3704kb
input:
2 2
output:
2.6666666667
result:
ok OK 2.66666667, real ans = 2.66666667, error = 0.00000000
Test #39:
score: 0
Accepted
time: 2ms
memory: 3644kb
input:
10000000000000 0
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 2147483648.00000000
Test #40:
score: 0
Accepted
time: 2ms
memory: 3572kb
input:
10000000000000 1
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 3714566310.05405521
Test #41:
score: 0
Accepted
time: 2ms
memory: 3504kb
input:
2 10000000000000
output:
Extreme Wealth
result:
ok OK Extreme Wealth, real ans = 2681735677.50243759