QOJ.ac
QOJ
ID | Problem | Submitter | Result | Time | Memory | Language | File size | Submit time | Judge time |
---|---|---|---|---|---|---|---|---|---|
#227310 | #6801. Blackjack | jzh | WA | 270ms | 7780kb | C++23 | 1.2kb | 2023-10-27 12:00:55 | 2023-10-27 12:00:56 |
Judging History
answer
#include<bits/stdc++.h>
using namespace std;
using db = double;
const int maxn = 505;
db dp[maxn][maxn], ndp[maxn][maxn];
int vec[maxn];
void solve() {
int n, a, b; cin >> n >> a >> b;
for(int i = 1 ; i <= n ; i ++) cin >> vec[i];
dp[0][0] = 1;
for(int i = 1 ; i <= n ; i ++) {
memset(ndp, 0, sizeof(ndp));
for(int x = 0 ; x < i ; x ++) {
for(int y = 0 ; y <= b ; y ++) {
ndp[x][y] += dp[x][y];
if(y+vec[i]<=b) ndp[x+1][y + vec[i]] += dp[x][y] * (x+1) / (n-x);
}
}
// for(int x = 0 ; x <= n ; x ++) {
// for(int y = 0 ; y <= b ; y ++) {
// cout << dp[x][y] << ' ';
// }
// cout << endl;
// }
memcpy(dp, ndp, sizeof(ndp));
}
db ans = 0;
for(int i = 1 ; i <= n ; i ++) {
memcpy(ndp, dp, sizeof(dp));
for(int x = 0 ; x < n ; x ++) {
for(int y = 0 ; y <= b ; y ++) {
ndp[x+1][y+vec[i]] -= ndp[x][y] * (x+1) / (n-x);
}
}
db temp = 0;
for(int x = 0 ; x <= n-1 ; x ++) {
for(int y = 0 ; y <= a ; y ++) {
if(y+vec[i]>a and y+vec[i]<=b) {
temp += ndp[x][y] / (n-x);
}
}
}
ans += temp;
}
cout << fixed << setprecision(50) << ans << endl;
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
solve();
return 0;
}
Details
Tip: Click on the bar to expand more detailed information
Test #1:
score: 100
Accepted
time: 3ms
memory: 7556kb
input:
5 2 4 1 1 1 5 5
output:
0.10000000000000000555111512312578270211815834045410
result:
ok found '0.1000000', expected '0.1000000', error '0.0000000'
Test #2:
score: 0
Accepted
time: 3ms
memory: 7660kb
input:
5 2 4 1 1 1 3 5
output:
0.45000000000000006661338147750939242541790008544922
result:
ok found '0.4500000', expected '0.4500000', error '0.0000000'
Test #3:
score: 0
Accepted
time: 7ms
memory: 7608kb
input:
18 10 11 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
output:
0.00000000000000000000000000000000000000000000000000
result:
ok found '0.0000000', expected '-0.0000000', error '-0.0000000'
Test #4:
score: 0
Accepted
time: 6ms
memory: 7780kb
input:
14 15 16 3 3 3 3 3 3 3 3 3 3 3 3 3 3
output:
0.00000000000000000000000000000000000000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #5:
score: 0
Accepted
time: 0ms
memory: 7656kb
input:
7 20 23 4 4 4 4 4 4 4
output:
0.00000000000000000000000000000000000000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #6:
score: 0
Accepted
time: 2ms
memory: 7668kb
input:
10 25 27 5 5 5 5 5 5 5 5 5 5
output:
0.00000000000000000000000000000000000000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #7:
score: 0
Accepted
time: 4ms
memory: 7604kb
input:
6 30 35 6 6 6 6 6 6
output:
0.00000000000000000000000000000000000000000000000000
result:
ok found '0.0000000', expected '0.0000000', error '-0.0000000'
Test #8:
score: 0
Accepted
time: 5ms
memory: 7660kb
input:
9 35 36 7 7 7 7 7 7 7 7 7
output:
0.00000000000000000000000000000000000000000000000000
result:
ok found '0.0000000', expected '-0.0000000', error '-0.0000000'
Test #9:
score: 0
Accepted
time: 7ms
memory: 7600kb
input:
14 33 40 8 8 8 8 8 8 8 8 8 8 8 8 8 8
output:
0.99999999999999966693309261245303787291049957275391
result:
ok found '1.0000000', expected '1.0000000', error '0.0000000'
Test #10:
score: 0
Accepted
time: 0ms
memory: 7660kb
input:
7 43 45 9 9 9 9 9 9 9
output:
0.99999999999999977795539507496869191527366638183594
result:
ok found '1.0000000', expected '1.0000000', error '0.0000000'
Test #11:
score: 0
Accepted
time: 4ms
memory: 7664kb
input:
7 49 50 10 10 10 10 10 10 10
output:
0.99999999999999977795539507496869191527366638183594
result:
ok found '1.0000000', expected '1.0000000', error '0.0000000'
Test #12:
score: 0
Accepted
time: 0ms
memory: 7600kb
input:
7 49 55 11 11 11 11 11 11 11
output:
0.99999999999999977795539507496869191527366638183594
result:
ok found '1.0000000', expected '1.0000000', error '0.0000000'
Test #13:
score: 0
Accepted
time: 8ms
memory: 7696kb
input:
16 53 60 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12 12
output:
1.00000000000000000000000000000000000000000000000000
result:
ok found '1.0000000', expected '1.0000000', error '0.0000000'
Test #14:
score: 0
Accepted
time: 8ms
memory: 7604kb
input:
16 53 65 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13 13
output:
1.00000000000000000000000000000000000000000000000000
result:
ok found '1.0000000', expected '1.0000000', error '0.0000000'
Test #15:
score: 0
Accepted
time: 5ms
memory: 7608kb
input:
10 55 60 8 2 8 10 8 8 1 2 8 10
output:
0.56388888888888888395456433499930426478385925292969
result:
ok found '0.5638889', expected '0.5638889', error '0.0000000'
Test #16:
score: 0
Accepted
time: 0ms
memory: 7776kb
input:
10 38 43 5 8 1 9 7 2 1 9 3 1
output:
0.48888888888888759609585576981771737337112426757812
result:
ok found '0.4888889', expected '0.4888889', error '0.0000000'
Test #17:
score: 0
Accepted
time: 2ms
memory: 7780kb
input:
10 49 52 8 2 8 10 6 2 10 5 1 5
output:
0.38611111111111107163651467999443411827087402343750
result:
ok found '0.3861111', expected '0.3861111', error '0.0000000'
Test #18:
score: 0
Accepted
time: 5ms
memory: 7512kb
input:
10 44 49 3 10 3 2 7 5 5 10 5 4
output:
0.67777777777777925560798166770837269723415374755859
result:
ok found '0.6777778', expected '0.6777778', error '0.0000000'
Test #19:
score: 0
Accepted
time: 2ms
memory: 7584kb
input:
10 54 58 5 9 8 2 4 3 8 7 7 6
output:
0.29999999999999871214129143481841310858726501464844
result:
ok found '0.3000000', expected '0.3000000', error '0.0000000'
Test #20:
score: 0
Accepted
time: 5ms
memory: 7608kb
input:
10 46 49 2 2 3 9 9 3 4 5 7 7
output:
0.50000000000000066613381477509392425417900085449219
result:
ok found '0.5000000', expected '0.5000000', error '0.0000000'
Test #21:
score: 0
Accepted
time: 5ms
memory: 7656kb
input:
10 50 51 10 9 10 4 8 2 1 1 2 10
output:
0.05753968253968247403840052811574423685669898986816
result:
ok found '0.0575397', expected '0.0575397', error '0.0000000'
Test #22:
score: 0
Accepted
time: 5ms
memory: 7588kb
input:
10 35 39 8 6 4 1 3 1 9 6 2 3
output:
0.58888888888888990535974699014332145452499389648438
result:
ok found '0.5888889', expected '0.5888889', error '0.0000000'
Test #23:
score: 0
Accepted
time: 5ms
memory: 7656kb
input:
10 62 64 10 8 7 4 4 7 10 10 8 1
output:
0.04444444444444450859066364500904455780982971191406
result:
ok found '0.0444444', expected '0.0444444', error '0.0000000'
Test #24:
score: 0
Accepted
time: 5ms
memory: 7660kb
input:
10 40 41 2 2 2 4 6 4 4 6 5 10
output:
0.36666666666666636320570660245721228420734405517578
result:
ok found '0.3666667', expected '0.3666667', error '0.0000000'
Test #25:
score: -100
Wrong Answer
time: 270ms
memory: 7664kb
input:
500 392 500 21 90 87 268 118 213 27 34 32 41 186 21 116 237 110 219 115 117 118 407 298 123 111 170 273 451 273 206 122 333 249 85 53 414 254 71 305 2 287 370 440 397 158 471 406 425 161 200 355 338 44 421 27 132 236 439 428 353 22 125 269 208 373 130 213 272 403 203 60 127 378 126 383 417 320 439 9...
output:
1449718791446.06250000000000000000000000000000000000000000000000
result:
wrong answer 1st numbers differ - expected: '0.4703331', found: '1449718791446.0625000', error = '1449718791445.5922852'