Plante

Time limit: 1.5s Memory limit: 256MB Input: plante.in Output: plante.out

Oficial, m-am răzbunat.

Toată lumea știe că plantele sunt ca niște arbori (grafuri neorientate conexe aciclice). O plantă are un număr MM de fructe (numerotate de la 11 la MM) specific acesteia, iar fructele sunt conectate de M1M - 1 ramuri, astfel încât să poți ajunge de la fiecare fruct la oricare alt fruct prin intermediul lor. Toată lumea mai știe și că fiecare fruct dintr-o plantă este caracterizat de frumusețea sa, FF. De asemenea, toți grădinarii știu că se poate calcula efortul culegerii fructelor unei plante (notată cu EE) în felul următor:

  • Alegem un fruct SS dintre cele MM ale plantei, acesta devenind fructul principal al plantei.
  • Însumăm, pentru fiecare fruct UU din plantă, frumusețea fructului UU înmulțit cu distanța dintre fructele SS și UU în plantă (distanța dintre două fructe într-o plantă este numărul minim de ramuri care trebuie traversate pentru a ajunge de la un fruct la celălalt).
  • Efortul plantei va fi egal cu maximul dintre sumele obținute pentru toate fructele principale SS alese.
    Formal, efortul unei plante se calculează astfel:
E=max1SM(U=1MF(U)dist(S,U))E = \max_{1 \le S \le M} \left( \sum_{\substack{U=1}}^{M} F(U) \cdot dist(S, U) \right)

Zanagludeuba, grădinarul viclean din Lamangaï, a găsit în laboratorul dușmanului său, Emargni cel Iubitor, o mulțime de NN plante foarte valoroase, numerotate de la stânga la dreapta cu numere de la 11 la NN. Acesta a observat că fiecare plantă este conectată cu vecinii săi. Pe scurt, planta ii este conectată cu plantele i1i - 1 și i+1i + 1, cu excepția plantelor 11 și NN, care sunt conectate doar cu planta 22, respectiv cu planta N1N - 1.
Zanagludeuba vrea să îi strice zen-ul adversarului său cât timp este în vacanță, așa că își propune să le distrugă, dar realizează rapid că plantele sunt prea puternic conectate. Astfel, el își dorește să despartă plantele una de cealaltă, adică să taie conexiunile plantelor între ele. El va trebui să facă exact N1N - 1 tăieturi (fiecare tăietură strică exact o conexiune), astfel încât, la final, toate plantele să nu aibă nicio conexiune.

Din păcate, Zanagludeuba întâmpină o problemă majoră: tăieturile îi ocupă timp, iar el este foarte leneș (iubește să îl enerveze pe Emargni, dar iubește mai mult să lucreze la informatică). Timpul total necesar pentru a despărți plantele este egal cu suma duratelor fiecăreia dintre cele N1N - 1 tăieturi. Timpul necesar unei tăieturi, notat cu TT, între plantele ii și i+1i + 1, se calculează în felul următor:

  • Se notează cu LL mulțimea maximală a plantelor conectate între ele în stânga plantei ii și în care este inclusă aceasta, adică mulțimea tuturor plantelor la care poți ajunge plecând de la planta ii către stânga și parcurgând doar conexiuni netăiate.
  • Se notează cu RR mulțimea maximală a plantelor conectate între ele în dreapta plantei i+1i + 1 și în care este inclusă aceasta, adică mulțimea tuturor plantelor la care poți ajunge plecând de la planta i+1i + 1 către dreapta și parcurgând doar conexiuni netăiate.
  • Se notează cu Rec(Q)Rec(Q) recolta mulțimii de plante QQ, adică suma numărului de fructe MM ale plantelor din mulțimea QQ.
  • Se notează cu Cab(Q)Cab(Q) calibrul mulțimii de plante QQ, adică maximul dintre eforturile EE ale plantelor din mulțimea QQ.
  • T=Rec(L)Cab(R)+Rec(R)Cab(L)T = \left\lfloor \sqrt{Rec(L)} \right\rfloor \cdot Cab(R) + \left\lfloor \sqrt{Rec(R)} \right\rfloor \cdot Cab(L).

În poza alăturată, putem observa N=6N = 6 plante. Fiecare plantă are caracteristicile sale trecute sub ea. De exemplu, planta 33 are M3=2M_3 = 2 și E3=19E_3 = 19. Unele conexiuni sunt deja tăiate, iar conexiunile rămase sunt între plantele 232 - 3, 343 - 4 și 565 - 6. Dacă vrem să calculăm timpul necesar pentru a tăia conexiunea dintre plantele 33 și 44, vom proceda în felul următor:

  • Mulțimea LL este alcătuită din plantele 22 și 33.
  • Mulțimea RR este alcătuită doar din planta 44.
  • Rec(L)=M2+M3=5+2=7Rec(L) = M_2 + M_3 = 5 + 2 = 7, iar Rec(R)=M4=6Rec(R) = M_4 = 6.
  • Cab(L)=max(E2,E3)=max(6,19)=19Cab(L) = max(E_2, E_3) = max(6, 19) = 19, iar Cab(R)=max(E4)=max(14)=14Cab(R) = max(E_4) = max(14) = 14.
  • T=714+619=214+219=66T = \left\lfloor \sqrt{7} \right\rfloor \cdot 14 + \left\lfloor \sqrt{6} \right\rfloor \cdot 19 = 2 \cdot 14 + 2 \cdot 19 = 66

Cerință

Emargni cel Iubitor a aflat de planul lui Zanagludeuba de la prietenul său, Stacedfas, chiar când Zanagludeuba își începea treaba, dar se delectează prea bine în vacanță și vrea să se întoarcă acasă cât mai târziu. Acesta v-a angajat pe voi să găsiți cea mai lungă durată DD pe care Emargni o mai poate petrece în vacanță, pentru a-l putea prinde sigur pe grădinarul viclean în fapt, oricum ar executa acesta tăieturile (Emargni se poate teleporta acasă instant sau chiar în trecut).

Date de intrare

Pe prima linie a fișierului de intrare plante.in se găsește un număr natural NN, reprezentând numărul de plante.
Pe următoarele linii sunt descrise fiecare dintre cele NN plante în ordine crescătoare a numărului lor de ordine, astfel:

  • Pe prima linie a descrierii se găsește un număr natural MiM_i, reprezentând numărul de fructe ale plantei ii.
  • Pe următoarea linie a descrierii se găsesc MiM_i numere naturale: F1,F2,...,FMiF_1, F_2, ..., F_{M_i}, separate printr-un spațiu, reprezentând frumusețea fructelor din planta ii.
  • Pe următoarele Mi1M_i - 1 linii ale descrierii se găsesc câte două numere naturale xx și yy, separate printr-un spațiu, cu semnificația că există o ramură între fructele xx și yy în planta ii.

Date de ieșire

Pe prima linie a fișierului de ieșire plante.out se va găsi un singur număr întreg DD, reprezentând durata maximă pe care o mai poate petrece Emargni în vacanță, pentru a-l putea prinde sigur pe Zanagludeuba în fapt.

Restricții și precizări

  • 2N5002 \leq N \leq 500;
  • 4i=1NMi1 000 0004 \leq \sum_{\substack{i=1}}^{N} M_i \leq 1 \ 000 \ 000;
  • 10 000Fi10 000-10 \ 000 \leq F_i \leq 10 \ 000;
  • Efortul EE al unei plante poate fi negativ, grădinarilor făcându-le plăcere să culeagă fructele acestei plante;
  • Notăm cu dist(x,y)dist(x, y) distanța dintre fructele xx și yy într-o plantă și este egală cu numărul minim de ramuri care trebuie traversate pentru a ajunge de la xx la yy;
  • Distanța de la un fruct la el însuși este egală cu 00;
  • X\lfloor X \rfloor reprezintă cel mai mare număr întreg mai mic sau egal decât XX. De exemplu, 8.3=8\lfloor 8.3 \rfloor = 8, iar 8=8\lfloor 8 \rfloor = 8;
  • Durata maximă DD pe care o mai poate petrece Emargni în vacanță poate fi negativă, caz în care Emargni se va teleporta în trecut pentru a-l prinde pe Zanagludeuba, fiindcă Emargni face parte din specia Rendangster, care este cunoscută pentru puterile sale supranaturale;
    # Punctaj Restricții
    0 0 Exemplul
    1 9 N=2N = 2 și 4i=1NMi5 0004 \leq \sum_{\substack{i=1}}^{N} M_i \leq 5 \ 000
    2 17 N=2N = 2
    3 11 2N102 \leq N \leq 10 și Mi=2M_i = 2
    4 14 2N102 \leq N \leq 10 și 4i=1NMi5 0004 \leq \sum_{\substack{i=1}}^{N} M_i \leq 5 \ 000
    5 13 2N102 \leq N \leq 10
    6 13 Mi=2M_i = 2
    7 12 4i=1NMi5 0004 \leq \sum_{\substack{i=1}}^{N} M_i \leq 5 \ 000
    8 11 Fără restricții suplimentare

Exemplu

plante.in

3
2
3 4
2 1
3
2 3 5
1 2
3 1
6
2 1 3 1 2 4
2 1
6 5
3 4
3 5
1 3

plante.out

102

Explicație

Dimensiunile celor N=3N = 3 plante sunt:

  • E1=4E_1 = 4, fructul principal ales optim este 11.
  • E2=12E_2 = 12, fructul principal ales optim este 22.
  • E3=33E_3 = 33, fructul principal ales optim este 22.

Zanagludeuba are două modalități de a tăia conexiunile plantelor:

  • Taie mai întâi conexiunea dintre plantele 11 și 22, cu T=45T = 45, apoi conexiunea 232 - 3, cu T=57T = 57. Timpul total este 102102.
  • Taie mai întâi conexiunea dintre plantele 22 și 33, cu T=90T = 90, apoi conexiunea 121 - 2, cu T=16T = 16. Timpul total este 116116.

Emargni trebuie să se întoarcă după D=102D = 102 ca să îl poată prinde sigur pe Zanagludeuba.

Log in or sign up to be able to send submissions!