Task: | Laskettelukeskus |
Sender: | Miika |
Submission time: | 2023-11-02 16:37:08 +0200 |
Language: | Python3 (CPython3) |
Status: | READY |
Result: | 0 |
group | verdict | score |
---|---|---|
#1 | RUNTIME ERROR | 0 |
#2 | RUNTIME ERROR | 0 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.02 s | 1, 2 | details |
#2 | RUNTIME ERROR | 0.02 s | 1, 2 | details |
#3 | RUNTIME ERROR | 0.02 s | 1, 2 | details |
#4 | TIME LIMIT EXCEEDED | -- | 2 | details |
#5 | TIME LIMIT EXCEEDED | -- | 2 | details |
#6 | ACCEPTED | 0.02 s | 1, 2 | details |
#7 | TIME LIMIT EXCEEDED | -- | 2 | details |
#8 | ACCEPTED | 0.02 s | 1, 2 | details |
#9 | RUNTIME ERROR | 0.64 s | 2 | details |
#10 | ACCEPTED | 0.02 s | 1, 2 | details |
#11 | TIME LIMIT EXCEEDED | -- | 2 | details |
#12 | ACCEPTED | 0.02 s | 1, 2 | details |
#13 | TIME LIMIT EXCEEDED | -- | 2 | details |
Code
#from collections import Counter import time n = input() lista = [] lista1 = [] lista2 = [] d = {} for item in range(int(n)-1): a = input().split(" ") lista.append(a) #lista1.append(a[0]) #lista2.append(a[1]) lenlist = input().split(" ") lista.sort(key=lambda seq: (int(seq[0]), int(seq[1]))) for item in lista: lista1.append(item[0]) lista2.append(item[1]) #print(lista) #if len(lista1) > 80: # h = 1/0 if int(n) == 1: print(lenlist[0]) exit() for l, item in enumerate(lenlist): lenlist[l] = int(item) leaves = set() leaves.update(set(lista2)) leaves -= set(lista1) def dfs(data, path, paths): datum = path[-1] if datum in data: for val in data[datum]: new_path = path + [val] paths = dfs(data, new_path, paths) else: paths += [path] return paths def enumerate_paths(graph): nodes = list(graph.keys()) all_paths = [] for node in nodes: node_paths = dfs(graph, [node], []) all_paths += node_paths return all_paths for item in lista: if int(item[0]) in d: d[int(item[0])].append(int(item[1])) else: d[int(item[0])] = [int(item[1])] paths = enumerate_paths(d) h = 0 #for i, item in enumerate(paths): # if str(item[-1]) not in leaves or item[0] != 1: # del paths[i] # print(paths) # h += 1 #print(paths) paths = paths[:len(leaves)] #print(paths) ma = max(len(x) for x in paths) placeholder = 0 rl = [] paths = sorted(paths, key=len, reverse=True) for i in range(ma): if max(lenlist) < 1: print(placeholder) exit() if max(lenlist) > 0: for thing in rl: paths.remove(thing) rl = [] for j, item in enumerate(paths): #print(paths, placeholder, lenlist) #print(item) if lenlist[item[-1]-1] < 1: del paths[j] continue #print(paths, placeholder, lenlist) g = lenlist[item[-1]-1] placeholder += g for one in item: lenlist[one-1] -= int(g) #print(lenlist) #print(item) #print("--------------------------") if lenlist[item[-1]-1] < 1: paths[j].pop(-1) if paths[j] == []: del paths[j] pc = paths[:] for h, item2 in enumerate(pc): pc[h] = item2[:-1] #print(item) if any(item[-1] in sl for sl in pc): rl.append(item) if placeholder > 5000: print(placeholder) else: h = 1/0
Test details
Test 1
Group: 1, 2
Verdict: ACCEPTED
input |
---|
5 1 2 1 3 3 4 3 5 ... |
correct output |
---|
6 |
user output |
---|
6 |
Test 2
Group: 1, 2
Verdict: RUNTIME ERROR
input |
---|
100 1 73 1 64 64 23 1 88 ... |
correct output |
---|
2675 |
user output |
---|
(empty) |
Error:
Traceback (most recent call last): File "/box/input/code.py", line 102, in <module>...
Test 3
Group: 1, 2
Verdict: RUNTIME ERROR
input |
---|
100 1 36 36 56 56 59 36 97 ... |
correct output |
---|
2808 |
user output |
---|
(empty) |
Error:
Traceback (most recent call last): File "/box/input/code.py", line 102, in <module>...
Test 4
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1 45452 1 74209 45452 78960 45452 79820 ... |
correct output |
---|
28399367694319 |
user output |
---|
(empty) |
Test 5
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1 31165 1 23263 31165 89516 31165 53122 ... |
correct output |
---|
28546840313799 |
user output |
---|
(empty) |
Test 6
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 1 79 79 9 79 45 45 10 ... |
correct output |
---|
0 |
user output |
---|
0 |
Test 7
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1 66038 1 56789 56789 7403 66038 69542 ... |
correct output |
---|
0 |
user output |
---|
(empty) |
Test 8
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 1 2 2 3 3 4 4 5 ... |
correct output |
---|
100 |
user output |
---|
100 |
Test 9
Group: 2
Verdict: RUNTIME ERROR
input |
---|
100000 1 2 2 3 3 4 4 5 ... |
correct output |
---|
1000000000 |
user output |
---|
(empty) |
Error:
Traceback (most recent call last): File "/box/input/code.py", line 52, in <module> p...
Test 10
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 1 2 1 3 2 4 2 5 ... |
correct output |
---|
2809 |
user output |
---|
2809 |
Test 11
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1 2 1 3 2 4 2 5 ... |
correct output |
---|
26053917212428 |
user output |
---|
(empty) |
Test 12
Group: 1, 2
Verdict: ACCEPTED
input |
---|
100 1 2 1 3 2 4 2 5 ... |
correct output |
---|
5000 |
user output |
---|
5000 |
Test 13
Group: 2
Verdict: TIME LIMIT EXCEEDED
input |
---|
100000 1 2 1 3 2 4 2 5 ... |
correct output |
---|
50000000000000 |
user output |
---|
(empty) |