CSES - Datatähti 2016 alku - Results
Submission details
Task:Kirjat
Sender:ollpu
Submission time:2015-09-30 22:17:44 +0300
Language:Python2
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#1ACCEPTED0.06 s1details
#20.06 s1details
#30.06 s1details
#40.06 s1details
#5ACCEPTED0.06 s1details
#60.06 s1details
#7ACCEPTED0.06 s1details
#80.06 s1details
#90.07 s1details
#100.06 s1details
#11ACCEPTED0.06 s1details
#12ACCEPTED0.06 s1details
#130.06 s1details
#140.06 s1details
#15ACCEPTED0.06 s1details
#16ACCEPTED0.06 s1details
#17ACCEPTED0.06 s1details
#180.06 s1details
#190.06 s1details
#200.06 s1details
#21ACCEPTED0.06 s2details
#220.06 s2details
#230.06 s2details
#240.06 s2details
#250.06 s2details
#26ACCEPTED0.06 s2details
#27ACCEPTED0.06 s2details
#280.07 s2details
#290.06 s2details
#30ACCEPTED0.05 s2details
#310.06 s2details
#320.06 s2details
#330.06 s2details
#340.06 s2details
#350.06 s2details
#36ACCEPTED0.18 s2details
#37ACCEPTED0.17 s2details
#38ACCEPTED0.19 s2details
#39ACCEPTED0.18 s2details
#40ACCEPTED0.17 s2details
#41ACCEPTED0.06 s3details
#420.07 s3details
#430.05 s3details
#440.06 s3details
#450.06 s3details
#46ACCEPTED0.05 s3details
#47ACCEPTED0.06 s3details
#48ACCEPTED0.06 s3details
#490.06 s3details
#500.05 s3details
#510.07 s3details
#520.06 s3details
#530.07 s3details
#540.06 s3details
#550.06 s3details
#56--3details
#57--3details
#58--3details
#59--3details
#60--3details

Code

#!/usr/bin/env python
# -*- coding: utf-8 -*-

from sys import stdin
from sys import stdout
import sys

def readline():
    return stdin.readline().strip()

n = int(readline())

uolevi = readline().split(' ')
maija = readline().split(' ')

kaaleppi = [0] * n

paino = []

# x = kirja, y = päivä, [kirja][päivä]
varattu = [[False for x in xrange(n)] for y in xrange(n)]


for y in xrange(n):
    uol = int(uolevi[y])
    uolevi[y] = uol
    mai = int(maija[y])
    maija[y] = mai
    
    paino.append(uol+mai)
    varattu[uol-1][y] = True
    varattu[mai-1][y] = True

paino_order = sorted(xrange(len(paino)), key=lambda k: paino[k])

def set_kaaleppi(y, v):
    global kaaleppi
    kaaleppi[y] = v


def find(x):
    # Etsi "vähiten kuormittava" vaihtoehto
    for y in paino_order:
        if kaaleppi[y] == 0 and not varattu[x][y]:
            return y
    return -1


def find_for_book(x, replaced):
    kirja = x+1
    
    score_index = find(x)
    
    if score_index != -1:
        set_kaaleppi(score_index, kirja)
    else:
        vaihtoehdot = []
        for y, val in enumerate(varattu[x]):
            vaihtoehdot.append(not ((y in replaced) or val))
        
        left_index = kaaleppi.index(0)
        
        left_uol_val = uolevi[left_index]
        if left_uol_val in kaaleppi:
            vaihtoehdot[kaaleppi.index(left_uol_val)] = False
            print('laitettiin jotain pois')
        
        left_mai_val = maija[left_index]
        if left_mai_val in kaaleppi:
            vaihtoehdot[kaaleppi.index(left_mai_val)] = False
            print('laitettiin jotain pois')
        
        day = vaihtoehdot.index(True)
        old_kirja = kaaleppi[day]-1
        set_kaaleppi(day, kirja)
        replaced.append(day)
        find_for_book(old_kirja, replaced)
        if kaaleppi.count(0) == 1:
            raise 
        
for x in xrange(n):
    find_for_book(x, [])


print(' '.join(map(str, kaaleppi)))
        
    

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
3
2 1 3
3 2 1

correct output
1 3 2 

user output
1 3 2

Test 2

Group: 1

Verdict:

input
4
2 1 4 3
1 4 3 2

correct output
4 3 2 1 

user output
laitettiin jotain pois
3 2 1 4

Test 3

Group: 1

Verdict:

input
4
4 3 2 1
3 1 4 2

correct output
1 2 3 4 

user output
laitettiin jotain pois
2 4 1 3

Test 4

Group: 1

Verdict:

input
4
3 4 2 1
2 3 1 4

correct output
1 2 4 3 

user output
laitettiin jotain pois
4 1 3 2

Test 5

Group: 1

Verdict: ACCEPTED

input
4
4 1 3 2
2 3 1 4

correct output
1 4 2 3 

user output
1 2 4 3

Test 6

Group: 1

Verdict:

input
5
5 1 3 2 4
3 4 2 1 5

correct output
2 3 4 5 1 

user output
laitettiin jotain pois
4 5 1 3 2

Test 7

Group: 1

Verdict: ACCEPTED

input
5
4 2 3 5 1
3 5 2 1 4

correct output
1 4 5 2 3 

user output
5 4 1 3 2

Test 8

Group: 1

Verdict:

input
5
1 4 3 2 5
4 3 1 5 2

correct output
3 2 5 1 4 

user output
laitettiin jotain pois
5 1 2 4 3

Test 9

Group: 1

Verdict:

input
5
5 3 2 1 4
4 2 1 3 5

correct output
1 4 5 2 3 

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 82, in <module>
    find_for_book(x, [])
  File "input/code.py", line 79, in find_for_book
    raise 
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Test 10

Group: 1

Verdict:

input
5
4 3 5 1 2
5 1 3 2 4

correct output
2 5 1 4 3 

user output
laitettiin jotain pois
2 5 4 3 1

Test 11

Group: 1

Verdict: ACCEPTED

input
5
5 1 3 2 4
2 5 4 3 1

correct output
3 4 2 1 5 

user output
4 3 5 1 2

Test 12

Group: 1

Verdict: ACCEPTED

input
5
5 4 2 1 3
2 3 5 4 1

correct output
3 1 4 5 2 

user output
1 5 4 3 2

Test 13

Group: 1

Verdict:

input
5
1 5 2 4 3
5 1 4 3 2

correct output
3 2 5 1 4 

user output
laitettiin jotain pois

Error:
Traceback (most recent call last):
  File "input/code.py", line 82, in <module>
    find_for_book(x, [])
  File "input/code.py", line 79, in find_for_book
    raise 
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Test 14

Group: 1

Verdict:

input
5
5 3 4 2 1
3 5 2 1 4

correct output
1 2 3 4 5 

user output
laitettiin jotain pois
4 1 5 3 2

Test 15

Group: 1

Verdict: ACCEPTED

input
5
4 5 3 2 1
3 2 1 4 5

correct output
5 3 2 1 4 

user output
5 4 2 1 3

Test 16

Group: 1

Verdict: ACCEPTED

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

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

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

Test 17

Group: 1

Verdict: ACCEPTED

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

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

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

Test 18

Group: 1

Verdict:

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

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

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

Test 19

Group: 1

Verdict:

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

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

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

Test 20

Group: 1

Verdict:

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

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

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

Test 21

Group: 2

Verdict: ACCEPTED

input
3
3 2 1
1 3 2

correct output
2 1 3 

user output
2 1 3

Test 22

Group: 2

Verdict:

input
4
2 3 1 4
1 4 3 2

correct output
3 2 4 1 

user output
laitettiin jotain pois
3 2 4 1

Test 23

Group: 2

Verdict:

input
4
2 4 3 1
4 1 2 3

correct output
3 2 1 4 

user output
laitettiin jotain pois
1 3 4 2

Test 24

Group: 2

Verdict:

input
4
4 1 2 3
1 3 4 2

correct output
3 2 1 4 

user output
laitettiin jotain pois
3 2 1 4

Test 25

Group: 2

Verdict:

input
4
2 1 3 4
4 3 2 1

correct output
3 4 1 2 

user output
laitettiin jotain pois
1 2 4 3

Test 26

Group: 2

Verdict: ACCEPTED

input
5
2 5 3 1 4
4 2 1 5 3

correct output
5 4 2 3 1 

user output
1 4 2 3 5

Test 27

Group: 2

Verdict: ACCEPTED

input
5
1 4 3 2 5
5 2 4 1 3

correct output
4 5 2 3 1 

user output
2 1 5 3 4

Test 28

Group: 2

Verdict:

input
5
1 4 2 3 5
2 3 1 5 4

correct output
4 5 3 1 2 

user output
laitettiin jotain pois
5 1 4 2 3

Test 29

Group: 2

Verdict:

input
5
4 5 2 3 1
5 3 1 2 4

correct output
1 2 3 4 5 

user output
laitettiin jotain pois
3 4 5 1 2

Test 30

Group: 2

Verdict: ACCEPTED

input
5
3 2 1 5 4
5 4 3 1 2

correct output
4 5 2 3 1 

user output
4 1 2 3 5

Test 31

Group: 2

Verdict:

input
5
5 3 1 2 4
3 2 4 1 5

correct output
4 5 2 3 1 

user output
laitettiin jotain pois
4 5 2 3 1

Test 32

Group: 2

Verdict:

input
5
5 4 1 2 3
1 5 3 4 2

correct output
2 3 4 5 1 

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 82, in <module>
    find_for_book(x, [])
  File "input/code.py", line 79, in find_for_book
    raise 
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Test 33

Group: 2

Verdict:

input
5
1 4 5 3 2
3 5 2 4 1

correct output
5 1 3 2 4 

user output
(empty)

Error:
Traceback (most recent call last):
  File "input/code.py", line 82, in <module>
    find_for_book(x, [])
  File "input/code.py", line 79, in find_for_book
    raise 
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Test 34

Group: 2

Verdict:

input
5
3 4 2 1 5
1 5 3 4 2

correct output
2 3 4 5 1 

user output
laitettiin jotain pois
5 2 1 3 4

Test 35

Group: 2

Verdict:

input
5
2 3 1 5 4
5 4 2 1 3

correct output
1 2 3 4 5 

user output
laitettiin jotain pois

Error:
Traceback (most recent call last):
  File "input/code.py", line 82, in <module>
    find_for_book(x, [])
  File "input/code.py", line 79, in find_for_book
    raise 
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Test 36

Group: 2

Verdict: ACCEPTED

input
1000
63 72 78 267 740 551 517 698 6...

correct output
26 926 267 321 385 444 968 690...

user output
406 139 568 74 491 404 281 344...

Test 37

Group: 2

Verdict: ACCEPTED

input
1000
954 273 839 263 331 161 938 51...

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

user output
768 84 949 73 161 40 922 770 7...

Test 38

Group: 2

Verdict: ACCEPTED

input
1000
740 142 781 837 759 392 582 14...

correct output
111 291 702 70 561 469 707 897...

user output
944 25 942 846 840 712 286 396...

Test 39

Group: 2

Verdict: ACCEPTED

input
1000
960 550 210 529 691 277 63 975...

correct output
716 604 535 519 27 204 574 592...

user output
528 847 431 787 885 710 512 64...

Test 40

Group: 2

Verdict: ACCEPTED

input
1000
371 772 197 202 504 931 4 46 6...

correct output
26 926 267 321 385 444 968 690...

user output
123 305 69 511 710 988 95 471 ...

Test 41

Group: 3

Verdict: ACCEPTED

input
3
1 2 3
3 1 2

correct output
2 3 1 

user output
2 3 1

Test 42

Group: 3

Verdict:

input
4
4 2 3 1
2 3 1 4

correct output
1 4 2 3 

user output
laitettiin jotain pois
1 4 2 3

Test 43

Group: 3

Verdict:

input
4
2 1 4 3
4 3 1 2

correct output
1 2 3 4 

user output
laitettiin jotain pois
1 2 3 4

Test 44

Group: 3

Verdict:

input
4
1 4 2 3
2 3 4 1

correct output
3 2 1 4 

user output
laitettiin jotain pois
3 2 1 4

Test 45

Group: 3

Verdict:

input
4
2 1 4 3
1 3 2 4

correct output
4 2 3 1 

user output
laitettiin jotain pois
3 4 1 2

Test 46

Group: 3

Verdict: ACCEPTED

input
5
3 1 5 2 4
5 4 2 1 3

correct output
1 2 3 4 5 

user output
4 2 1 3 5

Test 47

Group: 3

Verdict: ACCEPTED

input
5
2 1 5 3 4
5 3 2 4 1

correct output
4 5 3 1 2 

user output
1 2 4 5 3

Test 48

Group: 3

Verdict: ACCEPTED

input
5
5 1 4 3 2
3 5 1 2 4

correct output
1 2 3 4 5 

user output
4 3 2 1 5

Test 49

Group: 3

Verdict:

input
5
2 4 1 3 5
3 5 4 1 2

correct output
5 1 3 2 4 

user output
laitettiin jotain pois
5 1 3 2 4

Test 50

Group: 3

Verdict:

input
5
5 2 3 4 1
2 1 4 3 5

correct output
1 4 5 2 3 

user output
laitettiin jotain pois

Error:
Traceback (most recent call last):
  File "input/code.py", line 82, in <module>
    find_for_book(x, [])
  File "input/code.py", line 79, in find_for_book
    raise 
TypeError: exceptions must be old-style classes or derived from BaseException, not NoneType

Test 51

Group: 3

Verdict:

input
5
4 1 5 3 2
2 4 1 5 3

correct output
1 2 3 4 5 

user output
laitettiin jotain pois
3 5 4 2 1

Test 52

Group: 3

Verdict:

input
5
3 1 5 2 4
1 4 2 3 5

correct output
5 2 1 4 3 

user output
laitettiin jotain pois
5 3 4 1 2

Test 53

Group: 3

Verdict:

input
5
1 4 5 3 2
4 2 3 5 1

correct output
5 3 2 1 4 

user output
laitettiin jotain pois
5 1 4 2 3

Test 54

Group: 3

Verdict:

input
5
1 4 5 2 3
4 2 3 1 5

correct output
2 3 4 5 1 

user output
laitettiin jotain pois
5 1 4 3 2

Test 55

Group: 3

Verdict:

input
5
4 5 3 2 1
5 3 4 1 2

correct output
1 2 5 3 4 

user output
laitettiin jotain pois
1 2 5 3 4

Test 56

Group: 3

Verdict:

input
100000
74620 99226 537 63830 13777 69...

correct output
44158 25720 84658 90057 99607 ...

user output
(empty)

Test 57

Group: 3

Verdict:

input
100000
67665 19864 90761 58104 38796 ...

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

user output
(empty)

Test 58

Group: 3

Verdict:

input
100000
63021 24161 40379 69157 89616 ...

correct output
4913 70683 13897 99969 66725 3...

user output
(empty)

Test 59

Group: 3

Verdict:

input
100000
31500 70052 90949 56812 73871 ...

correct output
47064 17335 15460 80797 56435 ...

user output
(empty)

Test 60

Group: 3

Verdict:

input
100000
39127 4446 57817 67459 53741 8...

correct output
96591 75698 82505 59416 72144 ...

user output
(empty)