CSES - Aalto Competitive Programming 2024 - wk1 - Wed - Results
Submission details
Task:Apple Division
Sender:aalto2024a_003
Submission time:2024-09-04 16:51:56 +0300
Language:CPython3
Status:READY
Result:
Test results
testverdicttime
#10.02 sdetails
#20.02 sdetails
#30.02 sdetails
#40.02 sdetails
#50.02 sdetails
#60.02 sdetails
#70.02 sdetails
#80.02 sdetails
#90.02 sdetails
#100.02 sdetails
#110.02 sdetails
#120.02 sdetails
#130.02 sdetails
#14ACCEPTED0.02 sdetails
#150.02 sdetails
#160.02 sdetails
#170.02 sdetails
#18ACCEPTED0.02 sdetails

Code

# inputs
# for number of apples
appleNum = int(input())

appleWeights = input()
appleWeightsParts = appleWeights.split()
appleWeightsList = [int(w) for w in appleWeightsParts]
appleWeightsList.sort()

# print(appleWeightsList)

# if 1 apple
if appleNum == 1:
  print("0")
# if 2 apples
elif appleNum == 2:
  diff = appleWeightsList[1] - appleWeightsList[0]
  print(diff)
# if > 2 apples
else:
  # get mid point
  midPoint = appleNum // 2

  minApples = float('inf')
  currAppleWeightsList = appleWeightsList

  for i in range(appleNum):
    leftGroup = sum(currAppleWeightsList[:midPoint + 1])
    rightGroup = sum(currAppleWeightsList[midPoint + 1:])

    diff = abs(rightGroup - leftGroup)
    minApples = min(diff, minApples)

    # del first int and add to the back
    currAppleWeightsList = currAppleWeightsList[1:] + [currAppleWeightsList[0]]

  print(minApples)

Test details

Test 1

Verdict:

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

correct output
2

user output
106

Test 2

Verdict:

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

correct output
1

user output
63

Test 3

Verdict:

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

correct output
2

user output
232

Test 4

Verdict:

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

correct output
4

user output
116

Test 5

Verdict:

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

correct output
2

user output
200

Test 6

Verdict:

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

correct output
1

user output
113

Test 7

Verdict:

input
20
13048212 423374770 19874608 81...

correct output
8231

user output
304135647

Test 8

Verdict:

input
20
314836307 815098885 922742346 ...

correct output
1188

user output
202565394

Test 9

Verdict:

input
20
846261131 196958704 824235264 ...

correct output
11770

user output
170147008

Test 10

Verdict:

input
20
92021619 792314463 937735495 8...

correct output
4453

user output
93004515

Test 11

Verdict:

input
20
452747515 202201476 845758891 ...

correct output
4881

user output
187794747

Test 12

Verdict:

input
20
934033764 747013925 113297529 ...

correct output
5482

user output
308632876

Test 13

Verdict:

input
1
1000000000

correct output
1000000000

user output
0

Test 14

Verdict: ACCEPTED

input
2
1 1

correct output
0

user output
0

Test 15

Verdict:

input
1
1

correct output
1

user output
0

Test 16

Verdict:

input
5
934033764 2 7 4 1

correct output
934033750

user output
934033752

Test 17

Verdict:

input
20
934033764 747013925 113297529 ...

correct output
5483

user output
308632875

Test 18

Verdict: ACCEPTED

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

correct output
1

user output
1