QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#290892 | #4687. Weather Report | zhouhuanyi | AC ✓ | 11ms | 3992kb | C++20 | 1.3kb | 2023-12-25 19:38:20 | 2023-12-25 19:38:20 |
Judging History
answer
#include<iostream>
#include<cstdio>
#include<queue>
#define N 20
using namespace std;
int read()
{
char c=0;
int sum=0;
while (c<'0'||c>'9') c=getchar();
while ('0'<=c&&c<='9') sum=sum*10+c-'0',c=getchar();
return sum;
}
struct node
{
long long sz;
long double res;
bool operator < (const node &t)const
{
return res>t.res;
}
};
priority_queue<node>q;
long double ans;
long long fac[N+1];
int n;
int main()
{
node top,top2;
long double a,b,c,d,res;
fac[0]=1;
for (int i=1;i<=N;++i) fac[i]=fac[i-1]*i;
n=read(),cin>>a>>b>>c>>d;
for (int i=0;i<=n;++i)
for (int j=0;i+j<=n;++j)
for (int k=0,t;i+j+k<=n;++k)
{
t=n-i-j-k,res=1;
for (int w=1;w<=i;++w) res*=a;
for (int w=1;w<=j;++w) res*=b;
for (int w=1;w<=k;++w) res*=c;
for (int w=1;w<=t;++w) res*=d;
q.push((node){fac[n]/fac[i]/fac[j]/fac[k]/fac[t],res});
}
while (1)
{
top=q.top(),q.pop();
if (top.sz>=2)
{
ans+=(top.sz>>1)*(top.res*2),q.push((node){top.sz>>1,top.res*2});
if (top.sz&1) q.push((node){1,top.res});
}
else
{
if (q.empty()) break;
top2=q.top(),q.pop(),ans+=top.res+top2.res,q.push((node){1,top.res+top2.res});
if (top2.sz>=2) q.push((node){top2.sz-1,top2.res});
}
}
printf("%0.12Lf\n",ans);
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 1ms
memory: 3884kb
input:
2 0.9 0.049999 0.05 0.000001
output:
1.457509949996
result:
ok found '1.45751', expected '1.45751', error '0.00000'
Test #2:
score: 0
Accepted
time: 9ms
memory: 3776kb
input:
20 0.25 0.25 0.25 0.25
output:
40.000000000000
result:
ok found '40.00000', expected '40.00000', error '0.00000'
Test #3:
score: 0
Accepted
time: 9ms
memory: 3948kb
input:
19 0.5 0.3 0.08615 0.11385
output:
32.000055102909
result:
ok found '32.00006', expected '32.00006', error '0.00000'
Test #4:
score: 0
Accepted
time: 9ms
memory: 3892kb
input:
19 0.255 0.265 0.235 0.245
output:
37.994344661379
result:
ok found '37.99434', expected '37.99435', error '0.00000'
Test #5:
score: 0
Accepted
time: 11ms
memory: 3828kb
input:
20 0.066667 0.133333 0.266667 0.533333
output:
32.848884802099
result:
ok found '32.84888', expected '32.84889', error '0.00000'
Test #6:
score: 0
Accepted
time: 11ms
memory: 3772kb
input:
20 0.27 0.26 0.24 0.23
output:
39.970024423078
result:
ok found '39.97002', expected '39.97002', error '0.00000'
Test #7:
score: 0
Accepted
time: 11ms
memory: 3992kb
input:
20 0.5 0.2 0.175 0.125
output:
35.617733235788
result:
ok found '35.61773', expected '35.61773', error '0.00000'
Test #8:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
2 0.9 0.05 0.049999 0.000001
output:
1.457509949996
result:
ok found '1.45751', expected '1.45751', error '0.00000'
Test #9:
score: 0
Accepted
time: 0ms
memory: 3712kb
input:
3 0.25 0.25 0.25 0.25
output:
6.000000000000
result:
ok found '6.00000', expected '6.00000', error '0.00000'
Test #10:
score: 0
Accepted
time: 1ms
memory: 3620kb
input:
9 0.25 0.25 0.25 0.25
output:
18.000000000000
result:
ok found '18.00000', expected '18.00000', error '0.00000'
Test #11:
score: 0
Accepted
time: 1ms
memory: 3860kb
input:
9 0.1 0.4 0.3 0.2
output:
16.645985579000
result:
ok found '16.64599', expected '16.64599', error '0.00000'
Test #12:
score: 0
Accepted
time: 10ms
memory: 3940kb
input:
20 0.56 0.1 0.01 0.33
output:
27.926967193580
result:
ok found '27.92697', expected '27.92697', error '0.00000'
Test #13:
score: 0
Accepted
time: 0ms
memory: 3764kb
input:
1 0.5 0.25 0.125 0.125
output:
1.750000000000
result:
ok found '1.75000', expected '1.75000', error '0.00000'
Test #14:
score: 0
Accepted
time: 0ms
memory: 3832kb
input:
2 0.5 0.25 0.125 0.125
output:
3.500000000000
result:
ok found '3.50000', expected '3.50000', error '0.00000'
Test #15:
score: 0
Accepted
time: 0ms
memory: 3828kb
input:
3 0.5 0.25 0.125 0.125
output:
5.250000000000
result:
ok found '5.25000', expected '5.25000', error '0.00000'
Test #16:
score: 0
Accepted
time: 1ms
memory: 3872kb
input:
11 0.5 0.25 0.125 0.125
output:
19.250000000000
result:
ok found '19.25000', expected '19.25000', error '0.00000'
Test #17:
score: 0
Accepted
time: 1ms
memory: 3692kb
input:
1 0.403 0.199 0.199 0.199
output:
1.995000000000
result:
ok found '1.99500', expected '1.99500', error '0.00000'
Test #18:
score: 0
Accepted
time: 0ms
memory: 3632kb
input:
1 0.199 0.403 0.199 0.199
output:
1.995000000000
result:
ok found '1.99500', expected '1.99500', error '0.00000'
Test #19:
score: 0
Accepted
time: 1ms
memory: 3764kb
input:
1 0.199 0.199 0.403 0.199
output:
1.995000000000
result:
ok found '1.99500', expected '1.99500', error '0.00000'
Test #20:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
1 0.199 0.199 0.199 0.403
output:
1.995000000000
result:
ok found '1.99500', expected '1.99500', error '0.00000'
Test #21:
score: 0
Accepted
time: 1ms
memory: 3884kb
input:
4 0.4 0.25 0.24 0.11
output:
7.525134570000
result:
ok found '7.52513', expected '7.52513', error '0.00000'
Test #22:
score: 0
Accepted
time: 0ms
memory: 3648kb
input:
4 0.25 0.4 0.24 0.11
output:
7.525134570000
result:
ok found '7.52513', expected '7.52513', error '0.00000'
Test #23:
score: 0
Accepted
time: 0ms
memory: 3824kb
input:
4 0.25 0.24 0.4 0.11
output:
7.525134570000
result:
ok found '7.52513', expected '7.52513', error '0.00000'
Test #24:
score: 0
Accepted
time: 1ms
memory: 3700kb
input:
4 0.25 0.24 0.11 0.4
output:
7.525134570000
result:
ok found '7.52513', expected '7.52513', error '0.00000'
Test #25:
score: 0
Accepted
time: 0ms
memory: 3772kb
input:
4 0.0001 0.0002 0.00034 0.99936
output:
1.008988515133
result:
ok found '1.00899', expected '1.00899', error '0.00000'
Test #26:
score: 0
Accepted
time: 0ms
memory: 3776kb
input:
4 0.99936 0.00034 0.0002 0.0001
output:
1.008988515133
result:
ok found '1.00899', expected '1.00899', error '0.00000'
Test #27:
score: 0
Accepted
time: 1ms
memory: 3704kb
input:
4 0.00034 0.99936 0.0002 0.0001
output:
1.008988515133
result:
ok found '1.00899', expected '1.00899', error '0.00000'
Test #28:
score: 0
Accepted
time: 11ms
memory: 3920kb
input:
20 0.000001 0.999997 0.000001 0.000001
output:
1.000357008384
result:
ok found '1.00036', expected '1.00036', error '0.00000'
Test #29:
score: 0
Accepted
time: 4ms
memory: 3864kb
input:
15 0.000001 0.000001 0.999997 0.000001
output:
1.000252004458
result:
ok found '1.00025', expected '1.00025', error '0.00000'
Test #30:
score: 0
Accepted
time: 7ms
memory: 3880kb
input:
18 0.01 0.345 0.345 0.3
output:
29.675058743432
result:
ok found '29.67506', expected '29.67506', error '0.00000'
Test #31:
score: 0
Accepted
time: 5ms
memory: 3952kb
input:
17 0.13 0.35 0.13 0.39
output:
31.056836158746
result:
ok found '31.05684', expected '31.05684', error '0.00000'
Test #32:
score: 0
Accepted
time: 11ms
memory: 3896kb
input:
20 0.14 0.33 0.14 0.39
output:
37.067096888594
result:
ok found '37.06710', expected '37.06710', error '0.00000'
Test #33:
score: 0
Accepted
time: 11ms
memory: 3948kb
input:
20 0.125001 0.25 0.5 0.124999
output:
35.000000000000
result:
ok found '35.00000', expected '35.00000', error '0.00000'
Test #34:
score: 0
Accepted
time: 10ms
memory: 3716kb
input:
20 0.01 0.34503 0.34503 0.29994
output:
32.967203525345
result:
ok found '32.96720', expected '32.96720', error '0.00000'
Test #35:
score: 0
Accepted
time: 8ms
memory: 3928kb
input:
20 0.4 0.2 0.3 0.1
output:
36.959297167070
result:
ok found '36.95930', expected '36.95930', error '0.00000'
Test #36:
score: 0
Accepted
time: 11ms
memory: 3824kb
input:
20 0.01 0.02 0.03 0.94
output:
8.324709688145
result:
ok found '8.32471', expected '8.32471', error '0.00000'
Test #37:
score: 0
Accepted
time: 7ms
memory: 3896kb
input:
20 0.991 0.003 0.003 0.003
output:
2.121381821746
result:
ok found '2.12138', expected '2.12138', error '0.00000'
Test #38:
score: 0
Accepted
time: 11ms
memory: 3820kb
input:
20 0.495 0.005 0.495 0.005
output:
21.675401364773
result:
ok found '21.67540', expected '21.67540', error '0.00000'
Test #39:
score: 0
Accepted
time: 7ms
memory: 3948kb
input:
20 0.492 0.008 0.493 0.007
output:
22.322928144766
result:
ok found '22.32293', expected '22.32293', error '0.00000'
Test #40:
score: 0
Accepted
time: 11ms
memory: 3948kb
input:
20 0.032 0.051 0.023 0.894
output:
12.985654969506
result:
ok found '12.98565', expected '12.98565', error '0.00000'
Test #41:
score: 0
Accepted
time: 11ms
memory: 3888kb
input:
20 0.002 0.01 0.09 0.898
output:
10.761968792601
result:
ok found '10.76197', expected '10.76197', error '0.00000'
Test #42:
score: 0
Accepted
time: 10ms
memory: 3888kb
input:
20 0.91 0.03 0.03 0.03
output:
11.642446903928
result:
ok found '11.64245', expected '11.64245', error '0.00000'