QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#227177#6801. BlackjackjzhWA 968ms11924kbC++231.3kb2023-10-27 00:54:342023-10-27 00:54:35

Judging History

你现在查看的是最新测评结果

  • [2023-10-27 00:54:35]
  • 评测
  • 测评结果:WA
  • 用时:968ms
  • 内存:11924kb
  • [2023-10-27 00:54:34]
  • 提交

answer

#include<bits/stdc++.h>

using namespace std;

using db = long 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: 5ms
memory: 11824kb

input:

5 2 4
1 1 1 5 5

output:

0.09999999999999999999457898913757247782996273599565

result:

ok found '0.1000000', expected '0.1000000', error '0.0000000'

Test #2:

score: 0
Accepted
time: 0ms
memory: 11884kb

input:

5 2 4
1 1 1 3 5

output:

0.45000000000000000001626303258728256651011179201305

result:

ok found '0.4500000', expected '0.4500000', error '0.0000000'

Test #3:

score: 0
Accepted
time: 9ms
memory: 11868kb

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: 7ms
memory: 11884kb

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: 6ms
memory: 11876kb

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: 8ms
memory: 11824kb

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: 6ms
memory: 11884kb

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: 7ms
memory: 11872kb

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: 11868kb

input:

14 33 40
8 8 8 8 8 8 8 8 8 8 8 8 8 8

output:

0.99999999999999999994578989137572477829962735995650

result:

ok found '1.0000000', expected '1.0000000', error '0.0000000'

Test #10:

score: 0
Accepted
time: 6ms
memory: 11688kb

input:

7 43 45
9 9 9 9 9 9 9

output:

0.99999999999999999989157978275144955659925471991301

result:

ok found '1.0000000', expected '1.0000000', error '0.0000000'

Test #11:

score: 0
Accepted
time: 3ms
memory: 11824kb

input:

7 49 50
10 10 10 10 10 10 10

output:

0.99999999999999999989157978275144955659925471991301

result:

ok found '1.0000000', expected '1.0000000', error '0.0000000'

Test #12:

score: 0
Accepted
time: 6ms
memory: 11924kb

input:

7 49 55
11 11 11 11 11 11 11

output:

0.99999999999999999989157978275144955659925471991301

result:

ok found '1.0000000', expected '1.0000000', error '0.0000000'

Test #13:

score: 0
Accepted
time: 8ms
memory: 11868kb

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: 11828kb

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: 8ms
memory: 11896kb

input:

10 55 60
8 2 8 10 8 8 1 2 8 10

output:

0.56388888888888888888768421980834943951776949688792

result:

ok found '0.5638889', expected '0.5638889', error '0.0000000'

Test #16:

score: 0
Accepted
time: 8ms
memory: 11864kb

input:

10 38 43
5 8 1 9 7 2 1 9 3 1

output:

0.48888888888888888881721107859679165130728506483138

result:

ok found '0.4888889', expected '0.4888889', error '0.0000000'

Test #17:

score: 0
Accepted
time: 4ms
memory: 11880kb

input:

10 49 52
8 2 8 10 6 2 10 5 1 5

output:

0.38611111111111111169778495333382295484625501558185

result:

ok found '0.3861111', expected '0.3861111', error '0.0000000'

Test #18:

score: 0
Accepted
time: 8ms
memory: 11812kb

input:

10 44 49
3 10 3 2 7 5 5 10 5 4

output:

0.67777777777777777762358013546872825827449560165405

result:

ok found '0.6777778', expected '0.6777778', error '0.0000000'

Test #19:

score: 0
Accepted
time: 8ms
memory: 11800kb

input:

10 54 58
5 9 8 2 4 3 8 7 7 6

output:

0.29999999999999999979400158722775415753858396783471

result:

ok found '0.3000000', expected '0.3000000', error '0.0000000'

Test #20:

score: 0
Accepted
time: 8ms
memory: 11836kb

input:

10 46 49
2 2 3 9 9 3 4 5 7 7

output:

0.50000000000000000000000000000000000000000000000000

result:

ok found '0.5000000', expected '0.5000000', error '0.0000000'

Test #21:

score: 0
Accepted
time: 4ms
memory: 11828kb

input:

10 50 51
10 9 10 4 8 2 1 1 2 10

output:

0.05753968253968253966312514958991730651405305252410

result:

ok found '0.0575397', expected '0.0575397', error '0.0000000'

Test #22:

score: 0
Accepted
time: 8ms
memory: 11828kb

input:

10 35 39
8 6 4 1 3 1 9 6 2 3

output:

0.58888888888888888843231930736443757723463932052255

result:

ok found '0.5888889', expected '0.5888889', error '0.0000000'

Test #23:

score: 0
Accepted
time: 8ms
memory: 11832kb

input:

10 62 64
10 8 7 4 4 7 10 10 8 1

output:

0.04444444444444444475826073992497100562104606069624

result:

ok found '0.0444444', expected '0.0444444', error '0.0000000'

Test #24:

score: 0
Accepted
time: 5ms
memory: 11880kb

input:

10 40 41
2 2 2 4 6 4 4 6 5 10

output:

0.36666666666666666645705424665280247609189245849848

result:

ok found '0.3666667', expected '0.3666667', error '0.0000000'

Test #25:

score: -100
Wrong Answer
time: 968ms
memory: 11828kb

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.06824994087219238281250000000000000000000000000000

result:

wrong answer 1st numbers differ - expected: '0.4703331', found: '1449718791446.0683594', error = '1449718791445.5981445'