CSES - Aalto Competitive Programming 2024 - wk1 - Wed - Results
Submission details
Task:Apple Division
Sender:aalto2024a_010
Submission time:2024-09-04 16:40:38 +0300
Language:C++11
Status:READY
Result:
Test results
testverdicttime
#10.00 sdetails
#20.00 sdetails
#30.00 sdetails
#40.00 sdetails
#50.00 sdetails
#60.00 sdetails
#70.26 sdetails
#80.26 sdetails
#90.26 sdetails
#100.26 sdetails
#110.26 sdetails
#120.26 sdetails
#13ACCEPTED0.00 sdetails
#140.00 sdetails
#150.00 sdetails
#160.00 sdetails
#170.26 sdetails
#180.14 sdetails

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:41:29: warning: 'sum' may be used uninitialized in this function [-Wmaybe-uninitialized]
   41 |         res = min(abs(((int)(float)sum/2)*2-curSum), res);
      |                             ^~~~~~~~~~

Code

#include <bits/stdc++.h>
using namespace std;
#define ln "\n"
typedef long long ll;
#define fastio ios_base::sync_with_stdio(false), cin.tie(NULL)


vector<int> subset;
vector<int> weights;



int main() {

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

    int res = 1e9;

    for (int b = 0; b < (1<<n); b++){

        int curSum = 0;

        vector<int> subset;
        for(int i = 0; i < n; i++){
           if (b&(1<<i)){
            subset.push_back(weights[i]);
            curSum += weights[i];
           }
           
        }

        res = min(abs(((int)(float)sum/2)*2-curSum), res);
        

    }

    cout << res << ln;



    return 0;
}

Test details

Test 1

Verdict:

input
10
603 324 573 493 659 521 654 70...

correct output
2

user output
1000000000

Test 2

Verdict:

input
10
952 775 292 702 859 719 65 943...

correct output
1

user output
1000000000

Test 3

Verdict:

input
10
141 156 14 487 250 230 741 602...

correct output
2

user output
1000000000

Test 4

Verdict:

input
10
963 359 731 826 599 931 40 86 ...

correct output
4

user output
1000000000

Test 5

Verdict:

input
10
238 224 861 461 558 860 318 93...

correct output
2

user output
1000000000

Test 6

Verdict:

input
10
193 848 70 53 864 886 374 31 2...

correct output
1

user output
1000000000

Test 7

Verdict:

input
20
13048212 423374770 19874608 81...

correct output
8231

user output
6219

Test 8

Verdict:

input
20
314836307 815098885 922742346 ...

correct output
1188

user output
770

Test 9

Verdict:

input
20
846261131 196958704 824235264 ...

correct output
11770

user output
961

Test 10

Verdict:

input
20
92021619 792314463 937735495 8...

correct output
4453

user output
318

Test 11

Verdict:

input
20
452747515 202201476 845758891 ...

correct output
4881

user output
1916

Test 12

Verdict:

input
20
934033764 747013925 113297529 ...

correct output
5482

user output
735

Test 13

Verdict: ACCEPTED

input
1
1000000000

correct output
1000000000

user output
1000000000

Test 14

Verdict:

input
2
1 1

correct output
0

user output
1000000000

Test 15

Verdict:

input
1
1

correct output
1

user output
1000000000

Test 16

Verdict:

input
5
934033764 2 7 4 1

correct output
934033750

user output
1000000000

Test 17

Verdict:

input
20
934033764 747013925 113297529 ...

correct output
5483

user output
735

Test 18

Verdict:

input
19
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1

user output
1000000000