Submission details
Task:Good grades
Sender:aalto25j_003
Submission time:2025-11-05 17:36:35 +0200
Language:Python3 (PyPy3)
Status:READY
Result:
Test results
testverdicttime
#1ACCEPTED0.04 sdetails
#2ACCEPTED0.04 sdetails
#3ACCEPTED0.04 sdetails
#4ACCEPTED0.04 sdetails
#5ACCEPTED0.04 sdetails
#6ACCEPTED0.04 sdetails
#7ACCEPTED0.04 sdetails
#8ACCEPTED0.04 sdetails
#9ACCEPTED0.04 sdetails
#10ACCEPTED0.04 sdetails
#11ACCEPTED0.04 sdetails
#12ACCEPTED0.04 sdetails
#13ACCEPTED0.04 sdetails
#14ACCEPTED0.04 sdetails
#15ACCEPTED0.04 sdetails
#16ACCEPTED0.04 sdetails
#17ACCEPTED0.04 sdetails
#18ACCEPTED0.04 sdetails
#19ACCEPTED0.04 sdetails
#20ACCEPTED0.04 sdetails
#21ACCEPTED0.04 sdetails
#22ACCEPTED0.04 sdetails
#23ACCEPTED0.04 sdetails
#24ACCEPTED0.04 sdetails
#250.04 sdetails
#26ACCEPTED0.04 sdetails
#27ACCEPTED0.04 sdetails
#28ACCEPTED0.04 sdetails
#29ACCEPTED0.04 sdetails
#300.08 sdetails
#310.08 sdetails
#320.08 sdetails
#330.08 sdetails
#34ACCEPTED0.07 sdetails
#350.08 sdetails
#360.08 sdetails
#370.10 sdetails
#38ACCEPTED0.08 sdetails
#390.10 sdetails
#400.12 sdetails
#410.11 sdetails
#420.12 sdetails
#430.11 sdetails
#44ACCEPTED0.08 sdetails
#450.12 sdetails
#46ACCEPTED0.09 sdetails
#470.12 sdetails
#480.09 sdetails
#490.13 sdetails
#500.51 sdetails
#510.56 sdetails
#520.55 sdetails
#530.49 sdetails
#540.13 sdetails
#550.58 sdetails
#560.23 sdetails
#570.61 sdetails
#580.25 sdetails
#590.62 sdetails

Code

studentCount, groupCount = [int(aa) for aa in input().strip().split(" ")]
students = [int(aa) for aa in input().strip().split(" ")]
iqMap = [
    (
        [aa],
        aa
    )
    for aa in students]


while len(iqMap) != groupCount:
    minnLoss = int(1E9)
    shouldComb = [None, None]
    for ii in range(len(iqMap)):
        for jj in range(ii+1, len(iqMap)):
            lossInThis = (len(iqMap[ii][0])+len(iqMap[jj][0]))*(max(iqMap[ii][1], iqMap[jj][1])-min(iqMap[ii][1], iqMap[jj][1]))
            # print(ii, jj, lossInThis)
            if lossInThis < minnLoss:
                minnLoss = lossInThis
                shouldComb[0] = ii
                shouldComb[1] = jj
    # print(shouldComb, minnLoss)
    first = iqMap[shouldComb[0]]
    secnd = iqMap[shouldComb[1]]
    del iqMap[shouldComb[1]]
    del iqMap[shouldComb[0]]
    iqMap.append( (first[0]+secnd[0] , min(first[1], secnd[1])) )

    # print(iqMap)

# def checkCorr()

# print(sum([len(arr)*mi for arr, mi in iqMap]))

def findThis(student ,iqMap):
    for ii, (arr, iq) in enumerate(iqMap):
        if student in arr:
            arr.remove(student)
            return ii
    
la = 0
for ii, stud in enumerate(students):
    ret = findThis(stud, iqMap)
    la = ret
    if ii != len(students)-1:
        print(ret+1, end = " ")
print(la+1)

Test details

Test 1

Verdict: ACCEPTED

input
1 1

correct output

user output
1

Test 2

Verdict: ACCEPTED

input
2 2
7 6 

correct output
2 1 

user output
1 2

Test 3

Verdict: ACCEPTED

input
2 1
7 7 

correct output
1 1 

user output
1 1

Test 4

Verdict: ACCEPTED

input
2 2
7 1 

correct output
2 1 

user output
1 2

Test 5

Verdict: ACCEPTED

input
3 1
5 10 8 

correct output
1 1 1 

user output
1 1 1

Test 6

Verdict: ACCEPTED

input
3 1
6 10 2 

correct output
1 1 1 

user output
1 1 1

Test 7

Verdict: ACCEPTED

input
4 1
10 10 4 2 

correct output
1 1 1 1 

user output
1 1 1 1

Test 8

Verdict: ACCEPTED

input
4 4
5 1 5 4 

correct output
3 1 4 2 

user output
1 2 3 4

Test 9

Verdict: ACCEPTED

input
4 2
1 6 7 1 

correct output
1 2 2 1 

user output
1 2 2 1

Test 10

Verdict: ACCEPTED

input
5 3
6 8 9 7 9 

correct output
1 2 3 1 3 

user output
3 1 2 3 2

Test 11

Verdict: ACCEPTED

input
5 3
10 8 10 1 2 

correct output
3 2 3 1 1 

user output
2 1 2 3 3

Test 12

Verdict: ACCEPTED

input
5 3
2 1 10 6 10 

correct output
1 1 3 2 3 

user output
3 3 2 1 2

Test 13

Verdict: ACCEPTED

input
5 3
1 8 9 3 2 

correct output
1 3 3 2 1 

user output
2 3 3 1 2

Test 14

Verdict: ACCEPTED

input
5 5
10 6 2 10 9 

correct output
4 2 1 5 3 

user output
1 2 3 4 5

Test 15

Verdict: ACCEPTED

input
5 2
1 9 9 3 4 

correct output
1 2 2 1 1 

user output
2 1 1 2 2

Test 16

Verdict: ACCEPTED

input
5 5
10 4 3 9 1 

correct output
5 3 2 4 1 

user output
1 2 3 4 5

Test 17

Verdict: ACCEPTED

input
5 1
3 8 4 5 10 

correct output
1 1 1 1 1 

user output
1 1 1 1 1

Test 18

Verdict: ACCEPTED

input
5 5
1 10 3 9 4 

correct output
1 5 2 4 3 

user output
1 2 3 4 5

Test 19

Verdict: ACCEPTED

input
5 1
4 6 5 5 1 

correct output
1 1 1 1 1 

user output
1 1 1 1 1

Test 20

Verdict: ACCEPTED

input
10 6
6 8 9 7 9 6 9 5 7 7 

correct output
2 4 5 3 5 2 6 1 3 3 

user output
4 1 6 3 6 4 6 2 5 5

Test 21

Verdict: ACCEPTED

input
10 5
10 8 10 1 2 4 10 2 3 1 

correct output
5 4 5 1 2 3 5 2 2 1 

user output
4 1 4 2 3 5 4 3 5 2

Test 22

Verdict: ACCEPTED

input
10 5
2 1 10 6 10 5 5 5 4 4 

correct output
1 1 5 4 5 3 3 3 2 2 

user output
5 5 2 1 2 3 3 3 4 4

Test 23

Verdict: ACCEPTED

input
10 6
1 8 9 3 2 6 6 9 5 9 

correct output
1 5 6 2 1 4 4 6 3 6 

user output
6 1 5 2 6 4 4 5 3 5

Test 24

Verdict: ACCEPTED

input
10 10
10 6 2 10 9 8 7 7 6 3 

correct output
9 3 1 10 8 7 5 6 4 2 

user output
1 2 3 4 5 6 7 8 9 10

Test 25

Verdict:

input
10 3
1 9 9 3 4 10 10 5 1 7 

correct output
1 3 3 1 2 3 3 2 1 2 

user output
3 2 2 3 3 2 2 1 3 1

Test 26

Verdict: ACCEPTED

input
10 9
10 4 3 9 1 1 4 2 10 6 

correct output
8 4 3 7 1 1 5 2 9 6 

user output
9 1 2 3 4 5 6 7 9 8

Test 27

Verdict: ACCEPTED

input
10 1
3 8 4 5 10 8 5 10 4 6 

correct output
1 1 1 1 1 1 1 1 1 1 

user output
1 1 1 1 1 1 1 1 1 1

Test 28

Verdict: ACCEPTED

input
10 9
1 10 3 9 4 6 9 3 5 1 

correct output
1 9 2 7 4 6 8 3 5 1 

user output
9 1 2 3 4 5 6 7 8 9

Test 29

Verdict: ACCEPTED

input
10 1
4 6 5 5 1 2 4 2 1 3 

correct output
1 1 1 1 1 1 1 1 1 1 

user output
1 1 1 1 1 1 1 1 1 1

Test 30

Verdict:

input
100 55
636562060 767928734 906523441 ...

correct output
32 42 50 33 51 29 50 23 35 37 ...

user output
55 42 33 41 1 47 33 51 2 30 40...

Test 31

Verdict:

input
100 42
773442532 122816 137572579 324...

correct output
34 1 8 16 9 13 6 20 10 19 18 3...

user output
22 1 35 23 28 32 24 36 41 36 2...

Test 32

Verdict:

input
100 44
198730372 27838076 590195590 4...

correct output
9 1 28 21 23 20 15 16 7 10 36 ...

user output
37 1 32 14 17 41 23 42 25 19 1...

Test 33

Verdict:

input
100 56
75940263 760367935 901888417 3...

correct output
6 44 51 19 8 33 36 54 29 54 1 ...

user output
42 54 46 29 41 1 48 44 45 44 5...

Test 34

Verdict: ACCEPTED

input
100 97
967034924 587586158 185430194 ...

correct output
94 59 19 88 79 67 77 64 27 15 ...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 35

Verdict:

input
100 23
59249204 934941692 892631472 2...

correct output
2 22 21 6 10 23 12 3 15 11 19 ...

user output
23 21 11 1 16 21 20 23 10 22 4...

Test 36

Verdict:

input
100 90
356460601 224848374 881788059 ...

correct output
23 14 83 4 1 28 8 54 7 48 56 3...

user output
1 2 84 3 4 5 6 7 8 88 9 10 88 ...

Test 37

Verdict:

input
100 8
244103474 837431431 342493822 ...

correct output
2 7 3 5 7 5 3 6 3 5 1 1 5 3 1 ...

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 23, in <module>
    first = iqMap[shouldComb[0]]
TypeError: list indices must be integers or slices, not NoneType

Test 38

Verdict: ACCEPTED

input
100 88
11934038 257096283 933290530 4...

correct output
1 24 83 40 56 80 23 44 1 62 46...

user output
80 1 2 3 79 88 4 5 80 6 7 8 82...

Test 39

Verdict:

input
100 2
391337048 538883744 535937150 ...

correct output
1 2 2 2 1 1 1 1 1 1 2 1 1 1 1 ...

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 23, in <module>
    first = iqMap[shouldComb[0]]
TypeError: list indices must be integers or slices, not NoneType

Test 40

Verdict:

input
200 110
636562060 767928734 906523441 ...

correct output
69 86 99 70 101 61 100 47 74 7...

user output
55 66 92 80 1 2 92 3 61 78 58 ...

Test 41

Verdict:

input
200 84
773442532 122816 137572579 324...

correct output
66 1 14 28 16 23 11 36 18 35 3...

user output
59 39 70 72 75 22 79 28 1 2 45...

Test 42

Verdict:

input
200 88
198730372 27838076 590195590 4...

correct output
17 3 53 42 45 40 29 30 13 18 6...

user output
66 48 78 76 22 26 62 1 77 54 5...

Test 43

Verdict:

input
200 111
75940263 760367935 901888417 3...

correct output
8 85 100 35 14 62 71 106 51 10...

user output
77 64 102 67 1 2 94 49 3 51 91...

Test 44

Verdict: ACCEPTED

input
200 194
967034924 587586158 185430194 ...

correct output
185 114 39 173 151 128 147 124...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 45

Verdict:

input
200 45
59249204 934941692 892631472 2...

correct output
3 43 41 11 19 45 25 5 30 21 37...

user output
41 21 24 44 18 20 39 43 27 37 ...

Test 46

Verdict: ACCEPTED

input
200 179
356460601 224848374 881788059 ...

correct output
54 33 162 8 4 61 15 113 14 99 ...

user output
1 2 167 3 166 4 5 6 7 175 8 9 ...

Test 47

Verdict:

input
200 16
244103474 837431431 342493822 ...

correct output
4 14 6 8 13 9 6 10 5 10 2 2 8 ...

user output
14 6 7 2 16 3 7 4 14 9 1 11 2 ...

Test 48

Verdict:

input
200 175
11934038 257096283 933290530 4...

correct output
2 40 165 67 105 157 37 77 2 11...

user output
163 1 2 3 160 4 5 6 163 7 8 9 ...

Test 49

Verdict:

input
200 3
391337048 538883744 535937150 ...

correct output
2 2 2 2 1 1 1 1 1 1 3 2 1 1 1 ...

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 23, in <module>
    first = iqMap[shouldComb[0]]
TypeError: list indices must be integers or slices, not NoneType

Test 50

Verdict:

input
500 275
636562060 767928734 906523441 ...

correct output
176 215 251 178 254 161 252 12...

user output
198 260 1 2 3 4 246 135 217 18...

Test 51

Verdict:

input
500 209
773442532 122816 137572579 324...

correct output
163 1 31 72 37 57 23 89 45 87 ...

user output
1 49 2 95 101 118 108 189 161 ...

Test 52

Verdict:

input
500 218
198730372 27838076 590195590 4...

correct output
42 8 130 102 113 97 73 75 34 4...

user output
107 142 179 64 73 173 95 181 1...

Test 53

Verdict:

input
500 276
75940263 760367935 901888417 3...

correct output
20 205 249 85 32 149 165 267 1...

user output
213 224 185 252 195 1 2 209 24...

Test 54

Verdict:

input
500 484
967034924 587586158 185430194 ...

correct output
469 290 97 438 372 322 367 317...

user output
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

Test 55

Verdict:

input
500 111
59249204 934941692 892631472 2...

correct output
5 104 100 24 42 109 55 9 70 46...

user output
43 82 81 79 23 89 78 64 104 18...

Test 56

Verdict:

input
500 447
356460601 224848374 881788059 ...

correct output
154 88 394 30 18 168 46 279 43...

user output
1 2 3 4 415 5 435 6 7 8 9 405 ...

Test 57

Verdict:

input
500 39
244103474 837431431 342493822 ...

correct output
9 33 13 18 31 19 13 23 11 21 3...

user output
18 35 19 38 15 37 19 29 5 2 12...

Test 58

Verdict:

input
500 437
11934038 257096283 933290530 4...

correct output
7 101 407 167 251 388 97 191 7...

user output
433 1 2 3 407 394 4 5 433 6 7 ...

Test 59

Verdict:

input
500 6
391337048 538883744 535937150 ...

correct output
3 4 4 4 1 2 3 2 1 2 6 3 2 2 2 ...

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 23, in <module>
    first = iqMap[shouldComb[0]]
TypeError: list indices must be integers or slices, not NoneType