Submission details
Task:Cow heist
Sender:aalto25b_011
Submission time:2025-09-10 16:49:30 +0300
Language:C++ (C++20)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.01 sdetails
#2ACCEPTED0.00 sdetails
#3ACCEPTED0.00 sdetails
#4ACCEPTED0.00 sdetails
#5ACCEPTED0.00 sdetails
#6ACCEPTED0.00 sdetails
#7ACCEPTED0.00 sdetails
#8ACCEPTED0.00 sdetails
#9ACCEPTED0.00 sdetails
#10ACCEPTED0.00 sdetails
#11ACCEPTED0.00 sdetails
#12ACCEPTED0.00 sdetails
#13ACCEPTED0.00 sdetails
#14ACCEPTED0.00 sdetails
#15ACCEPTED0.01 sdetails
#16ACCEPTED0.00 sdetails
#17ACCEPTED0.00 sdetails
#18ACCEPTED0.00 sdetails
#19ACCEPTED0.00 sdetails
#20ACCEPTED0.00 sdetails
#21ACCEPTED0.00 sdetails
#22ACCEPTED0.00 sdetails
#23ACCEPTED0.00 sdetails
#24ACCEPTED0.00 sdetails
#25ACCEPTED0.00 sdetails
#26ACCEPTED0.00 sdetails
#27ACCEPTED0.00 sdetails
#280.43 sdetails
#29--details
#300.26 sdetails
#31--details
#32--details
#33--details
#340.17 sdetails
#350.27 sdetails
#36--details
#37--details
#38--details
#39--details
#40--details
#41--details
#42--details
#43--details
#44--details
#45--details
#46--details
#47--details
#48--details
#49--details
#50--details
#51--details
#52--details
#53--details
#54--details
#55--details
#56--details
#57--details
#58--details
#59--details
#60--details
#61--details
#62--details

Code

#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

template <class T>
void print_v(vector<T> &v) { cout << "{"; for (auto x : v) cout << x << ","; cout << "\b}"; }

int closest(const int wanted, int i, int sum, const int beams[30])
{
    if (i == 30)
        return sum;
    if (beams[i] == 0)
        return sum;
    
    if (sum == wanted)
       return sum; 

    if (sum > wanted)
        return sum - beams[i - 1];

    int a = closest(wanted, i + 1, sum + beams[i], beams);
    int b = closest(wanted, i + 1, sum, beams);
    
    if (a > b)
        return a;
    return b;

}

    
int main()
{
    int n;
    cin >> n;

    vector<int> farms;
    for (int i = 0; i < n; i++)
    {
        int a;
        cin >> a;
        farms.push_back(a);
    }

    sort(farms.begin(), farms.end());
    
    int beams[30] = {0};
    int next_beam = 0;
    for (int i = 0; i < n; i++)
    {
        
        
        int close = closest(farms[i], 0, 0, beams);

        if (close == farms[i])
            continue;

        beams[next_beam] = farms[i];
        next_beam++;

    }
    
    for (int i = 0; i < 30; i++)
        cout << beams[i] << " ";
    cout << "\n";
    return 0;
}

Test details

Test 1

Verdict: ACCEPTED

input
1
11

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
11 0 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 2

Verdict: ACCEPTED

input
2
9 20

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
9 20 0 0 0 0 0 0 0 0 0 0 0 0 0...

Test 3

Verdict: ACCEPTED

input
3
18 2 8

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 8 18 0 0 0 0 0 0 0 0 0 0 0 0...

Test 4

Verdict: ACCEPTED

input
3
4 9 15

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
4 9 15 0 0 0 0 0 0 0 0 0 0 0 0...

Test 5

Verdict: ACCEPTED

input
3
4 16 15

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
4 15 16 0 0 0 0 0 0 0 0 0 0 0 ...

Test 6

Verdict: ACCEPTED

input
4
8 10 6 14

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
6 8 10 14 0 0 0 0 0 0 0 0 0 0 ...

Test 7

Verdict: ACCEPTED

input
4
14 15 6 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
6 9 14 15 0 0 0 0 0 0 0 0 0 0 ...

Test 8

Verdict: ACCEPTED

input
5
11 12 15 17 13

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
11 12 13 15 17 0 0 0 0 0 0 0 0...

Test 9

Verdict: ACCEPTED

input
5
9 20 15 19 1

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 9 15 19 20 0 0 0 0 0 0 0 0 0...

Test 10

Verdict: ACCEPTED

input
5
9 4 1 19 11

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 4 9 11 19 0 0 0 0 0 0 0 0 0 ...

Test 11

Verdict: ACCEPTED

input
5
12 2 15 17 6

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 6 12 15 17 0 0 0 0 0 0 0 0 0...

Test 12

Verdict: ACCEPTED

input
5
20 19 11 4 20

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
4 11 19 20 20 0 0 0 0 0 0 0 0 ...

Test 13

Verdict: ACCEPTED

input
5
5 2 18 17 5

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 5 5 17 18 0 0 0 0 0 0 0 0 0 ...

Test 14

Verdict: ACCEPTED

input
5
18 19 7 5 17

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
5 7 17 18 19 0 0 0 0 0 0 0 0 0...

Test 15

Verdict: ACCEPTED

input
5
2 5 16 7 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 5 9 0 0 0 0 0 0 0 0 0 0 0 0 ...

Test 16

Verdict: ACCEPTED

input
5
18 1 20 5 18

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 5 18 18 20 0 0 0 0 0 0 0 0 0...

Test 17

Verdict: ACCEPTED

input
5
1 8 11 10 10

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 8 10 10 11 0 0 0 0 0 0 0 0 0...

Test 18

Verdict: ACCEPTED

input
10
11 12 15 17 13 18 11 17 9 13

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
9 11 11 12 13 13 15 17 17 18 0...

Test 19

Verdict: ACCEPTED

input
10
9 20 15 19 1 3 7 20 3 5

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 3 3 5 7 9 15 19 20 20 0 0 0 ...

Test 20

Verdict: ACCEPTED

input
10
9 4 1 19 11 19 9 10 9 7

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 4 7 9 9 9 10 11 19 19 0 0 0 ...

Test 21

Verdict: ACCEPTED

input
10
12 2 15 17 6 3 11 12 18 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 3 6 9 11 12 12 15 17 18 0 0 ...

Test 22

Verdict: ACCEPTED

input
10
20 19 11 4 20 18 15 13 14 12

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
4 11 12 13 14 15 18 19 20 20 0...

Test 23

Verdict: ACCEPTED

input
10
5 2 18 17 5 8 19 20 10 2

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 5 5 8 10 17 18 19 20 0 0 0 0...

Test 24

Verdict: ACCEPTED

input
10
18 19 7 5 17 2 1 8 3 20

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 2 5 7 8 17 18 19 20 0 0 0 0 ...

Test 25

Verdict: ACCEPTED

input
10
2 5 16 7 9 20 15 10 20 7

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
2 5 9 10 15 16 20 20 0 0 0 0 0...

Test 26

Verdict: ACCEPTED

input
10
18 1 20 5 18 8 11 17 5 9

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 5 5 8 9 11 17 18 18 20 0 0 0...

Test 27

Verdict: ACCEPTED

input
10
1 8 11 10 10 1 3 7 3 1

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
1 3 3 8 10 10 11 0 0 0 0 0 0 0...

Test 28

Verdict:

input
100
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Error:
*** stack smashing detected ***: terminated

Test 29

Verdict:

input
100
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 30

Verdict:

input
100
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Error:
*** stack smashing detected ***: terminated

Test 31

Verdict:

input
100
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 32

Verdict:

input
100
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 33

Verdict:

input
100
222044 55193 870929 831516 206...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 34

Verdict:

input
100
893062 947690 332055 209454 82...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Error:
*** stack smashing detected ***: terminated

Test 35

Verdict:

input
100
76326 227391 780095 319045 438...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Error:
*** stack smashing detected ***: terminated

Test 36

Verdict:

input
100
873627 11117 968759 239494 869...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 37

Verdict:

input
100
10377 364544 501988 499243 495...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 38

Verdict:

input
200
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 39

Verdict:

input
200
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 40

Verdict:

input
200
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 41

Verdict:

input
200
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 42

Verdict:

input
200
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 43

Verdict:

input
200
222044 55193 870929 831516 206...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 44

Verdict:

input
200
893062 947690 332055 209454 82...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 45

Verdict:

input
200
76326 227391 780095 319045 438...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 46

Verdict:

input
200
873627 11117 968759 239494 869...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 47

Verdict:

input
200
10377 364544 501988 499243 495...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 48

Verdict:

input
1000
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 49

Verdict:

input
1000
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 50

Verdict:

input
1000
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 51

Verdict:

input
1000
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 52

Verdict:

input
1000
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 53

Verdict:

input
1000
222044 55193 870929 831516 206...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 54

Verdict:

input
1000
893062 947690 332055 209454 82...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 55

Verdict:

input
1000
76326 227391 780095 319045 438...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 56

Verdict:

input
1000
873627 11117 968759 239494 869...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 57

Verdict:

input
1000
10377 364544 501988 499243 495...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 58

Verdict:

input
100000
548938 592979 715351 844456 60...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 59

Verdict:

input
100000
417116 997410 720487 932768 11...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 60

Verdict:

input
100000
436094 185124 25933 931751 549...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 61

Verdict:

input
100000
550922 70741 708308 840139 290...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)

Test 62

Verdict:

input
100000
967248 900825 547356 172735 97...

correct output
1 2 4 8 16 32 64 128 256 512 1...

user output
(empty)