232492026-01-16 19:21:55patrikkevDíjazás több helyezettnekcpp17Accepted 80/80126ms560 KiB
#include <iostream>
#include <vector>

void bt(short k, short s, short elem, std::vector<short> &ans)
{

    if (s < k * (k + 1) / 2)
        return;

    if (!k && !s)
    {
        for (short i : ans)
            std::cout << i << ' ';
        std::cout << '\n';
        return;
    }
    else
        // 1. tag: elem - k
        // utolso tag: elem - 1
        // keplet: (elem - k + elem - 1) * k / 2
        //         (2*elem - k - 1) * k / 2
        for (int i = std::min(elem - 1, (2 * elem - k - 1) * k / 2); i >= k; i--)
        {
            ans.push_back(i);
            bt(k - 1, s - i, i, ans);
            ans.pop_back();
        }
}

int main()
{
    short h, e;
    std::cin >> h >> e;

    std::vector<short> ans;
    bt(h, e, e, ans);

    return 0;
}
SubtaskSumTestVerdictTimeMemory
subtask10/0
1Accepted1ms316 KiB
2Accepted10ms500 KiB
subtask25/5
3Accepted1ms316 KiB
4Accepted1ms316 KiB
5Accepted1ms316 KiB
6Accepted4ms316 KiB
7Accepted13ms316 KiB
subtask35/5
8Accepted1ms316 KiB
9Accepted1ms316 KiB
10Accepted1ms316 KiB
11Accepted14ms316 KiB
12Accepted126ms424 KiB
subtask415/15
13Accepted1ms316 KiB
14Accepted1ms508 KiB
15Accepted4ms508 KiB
16Accepted13ms316 KiB
17Accepted57ms508 KiB
subtask515/15
18Accepted1ms316 KiB
19Accepted25ms500 KiB
20Accepted14ms508 KiB
21Accepted13ms316 KiB
22Accepted3ms316 KiB
subtask615/15
23Accepted1ms316 KiB
24Accepted10ms316 KiB
25Accepted1ms316 KiB
26Accepted25ms500 KiB
27Accepted14ms508 KiB
28Accepted13ms316 KiB
29Accepted3ms316 KiB
30Accepted21ms316 KiB
31Accepted13ms316 KiB
32Accepted1ms316 KiB
33Accepted2ms316 KiB
34Accepted17ms420 KiB
35Accepted1ms508 KiB
36Accepted1ms316 KiB
37Accepted17ms316 KiB
38Accepted18ms440 KiB
39Accepted1ms316 KiB
subtask725/25
40Accepted1ms316 KiB
41Accepted10ms316 KiB
42Accepted1ms316 KiB
43Accepted1ms316 KiB
44Accepted1ms316 KiB
45Accepted4ms316 KiB
46Accepted13ms316 KiB
47Accepted1ms316 KiB
48Accepted1ms316 KiB
49Accepted1ms316 KiB
50Accepted14ms316 KiB
51Accepted126ms424 KiB
52Accepted1ms316 KiB
53Accepted1ms508 KiB
54Accepted4ms508 KiB
55Accepted13ms316 KiB
56Accepted57ms508 KiB
57Accepted1ms316 KiB
58Accepted25ms500 KiB
59Accepted14ms508 KiB
60Accepted13ms316 KiB
61Accepted3ms316 KiB
62Accepted21ms316 KiB
63Accepted13ms316 KiB
64Accepted1ms316 KiB
65Accepted2ms316 KiB
66Accepted17ms420 KiB
67Accepted1ms508 KiB
68Accepted1ms316 KiB
69Accepted17ms316 KiB
70Accepted18ms440 KiB
71Accepted1ms316 KiB
72Accepted12ms416 KiB
73Accepted2ms500 KiB
74Accepted9ms316 KiB
75Accepted1ms316 KiB
76Accepted1ms500 KiB
77Accepted9ms560 KiB
78Accepted1ms508 KiB
79Accepted8ms388 KiB
80Accepted1ms316 KiB
81Accepted1ms316 KiB