CSES - Datatähti 2022 alku - Results
Submission details
Task:Tietoverkko
Sender:Tipu
Submission time:2021-10-14 22:12:38 +0300
Language:CPython3
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
#30
Test results
testverdicttimegroup
#10.02 s1, 2, 3details
#20.04 s2, 3details
#30.82 s3details

Code

def laske(kaikki: list, n):
    luku = 0
    i = 0
    käydyt = 0
    while i < len(kaikki):
        kaikki[i].sort(reverse=True)
        for num in kaikki[i]:
            luku += num * käydyt
            käydyt += 1
        i += 1
    return luku
            

def sijoita(a, b, x, pienimmät: list, kerrokset: dict, kerta):

    kerros = 0
    if kerta == 0:
        kerrokset.update({a: 0, b: 1})
        pienimmät.append([0])
        pienimmät.append([x])
    else: 
        kerros = kerrokset[a] + 1
        if kerros >= len(pienimmät):
            pienimmät.append([x])
        else:
            pienimmät[kerros].append(x)
        kerrokset.update({b: kerros})

 #   print(pienimmät)
    return pienimmät, kerrokset

def main():
    n = int(input())
  #  print(n) 
    i = 0
    a = []
    b = []
    x = []
    pienimmät = []
    kerrokset = {}

    while i < n - 1:
        abx = input().split(" ")
        a = int(abx[0])
        b = int(abx[1])
        x = int(abx[2])
        pienimmät, kerrokset = sijoita(a, b, x, pienimmät, kerrokset, i) 
      #  print(a, b, x) 
        
        i += 1
   # print("moi") 
    print(laske(pienimmät, n))
			
main() 

Test details

Test 1

Group: 1, 2, 3

Verdict:

input
100
1 2 74
1 3 100
2 4 50
3 5 40
...

correct output
88687

user output
224322

Test 2

Group: 2, 3

Verdict:

input
5000
1 2 613084013
1 3 832364259
2 4 411999902
3 5 989696303
...

correct output
1103702320243776

user output
6046426542723250

Test 3

Group: 3

Verdict:

input
200000
1 2 613084013
1 3 832364259
2 4 411999902
3 5 989696303
...

correct output
1080549209850010931

user output
9708425987212204671