QOJ.ac

QOJ

IDProblemSubmitterResultTimeMemoryLanguageFile sizeSubmit timeJudge time
#212441#4228. Double Sortopen your brain (Zhi Zhang, Yanru Guan, Jianfeng Zhu)#WA 1ms3888kbC++141.0kb2023-10-13 15:55:422023-10-13 15:55:42

Judging History

This is the latest submission verdict.

  • [2023-10-13 15:55:42]
  • Judged
  • Verdict: WA
  • Time: 1ms
  • Memory: 3888kb
  • [2023-10-13 15:55:42]
  • Submitted

answer

#include <bits/stdc++.h>

using namespace std;

typedef long double f64;

const int N = 10005;
int n, m;
f64 val[N], ans[55], c[55][55], v[55];

int main() {
    cin >> n >> m;
    val[0] = 1;
    for (int i = 1; i <= m - n; i++) {
        val[i] = val[i - 1] * (m - n - i + 1) / (m - i + 1);
    }
    for (int i = 0; i <= n; i++) {
        c[i][0] = c[i][i] = 1;
        for (int j = 1; j < i; j++) {
            c[i][j] = c[i - 1][j - 1] + c[i - 1][j];
        }
    }

    for (int i = 1; i <= n; i++) {
        for (int j = 1; j * i + n - i <= m; j++) {
            v[i] += val[i * (j - 1)];
        }
    }

    for (int k = 1; k <= n; k++) {
        for (int j = k; j <= n; j++) {
            int fg = (j - k) % 2 ? -1 : 1;
            ans[k] += fg * c[n][j] * v[j] * c[j - 1][k - 1];
        }
    }

    reverse(ans + 1, ans + n + 1);
    for (int i = 2; i <= n; i++) {
        ans[i] += ans[i - 1];
    }
    for (int i = 1; i <= n; i++) {
        cout << fixed << setprecision(10) << ans[i] << endl;
    }
}

Details

Tip: Click on the bar to expand more detailed information

Test #1:

score: 100
Accepted
time: 0ms
memory: 3696kb

input:

3 5

output:

1.0000000000
2.3000000000
4.5000000000

result:

ok 3 numbers

Test #2:

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

input:

5 17

output:

1.1313833226
2.7483839690
5.1830963154
8.8556884292
15.0000000000

result:

ok 5 numbers

Test #3:

score: -100
Wrong Answer
time: 1ms
memory: 3888kb

input:

50 10000

output:

4.4328164335
12.8365968668
25.3152687339
41.9556112383
62.8480760618
88.0871546758
117.7716337785
152.0048947857
190.8952419054
234.5562640721
283.1072162272
336.6735753002
395.3866945388
459.3890906455
528.8083566310
603.8922866465
684.3850329997
772.1538509013
861.4143947245
972.0596355082
1045.81...

result:

wrong answer 13th numbers differ - expected: '395.3871004', found: '395.3866945', error = '0.0000010'