Fişierul intrare/ieşire:zlego.in, zlego.outSursăONI 2012 - clasele 11-12
AutorAndrei ParvuAdăugată deSpiderManSimoiu Robert SpiderMan
Timp execuţie pe test0.75 secLimită de memorie67583 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Zlego

Recent, Bujorel a dat în mintea copiilor şi s-a apucat să se joace cu piese de zlego. El are o piesă formată din N bucăţi numerotate de la 1 la N, fiecare cu o înalţime şi un coeficient de frumuseţe date. Se defineşte un zprefix ca fiind un şir format din una sau mai multe bucăţi consecutive care să înceapă cu piesa 1. Scopul este să aleagă un zprefix, să găsească toate apariţiile acestuia în restul piesei şi să facă suma costurilor de frumuseţe ale acestor apariţii. Pentru o apariţie a zprefixului ales care corespunde secvenţei formate din bucăţile numerotate de la i la j (înălţimea bucăţii 1 este egală cu înălţimea bucăţii i, înălţimea bucăţii 2 este egală cu înălţimea bucăţii i+1 etc.) costul său de frumuseţe este coeficientul de frumuseţe al ultimei bucăţi, adică al lui j.

Bujorel e curios ce se întamplă pentru orice zprefix şi vrea să afişeze suma costurilor de frumuseţe ale tuturor apariţiilor fiecarui zprefix.

Date de intrare

Pe prima linie a fisierului zlego.in se află numarul de teste T. Fiecare test are următorul format: pe prima linie un număr natural N reprezentând dimensiunea piesei de zlego, pe următoarea linie se află N numere întregi, reprezentând înălţimile pieselor, despărţite prin câte un spaţiu, iar pe cea de-a treia linie se află tot N numere întregi, despărţite prin câte un spaţiu, cel de-al i-lea număr reprezentând coeficientul de frumuseţe a celei de-a i-a piese.

Date de ieşire

Fişierul zlego.out trebuie să conţină, pentru fiecare din cele T teste, câte N linii, cea de-a i-a linie reprezentând suma costurilor de frumuseţe ale apariţiilor zprefixului [1, i].

Restricţii

  • 1 ≤ N ≤ 250 000
  • 1 ≤ T ≤ 3
  • Înalţimile şi coeficienţii de frumuseţe ale bucăţilor piesei se încadreaza pe 32 de biti cu semn;
  • Pentru 20% din teste N ≤ 100;
  • Pentru 50% din teste N ≤ 1000;
  • Atenţie!: Bujorel recomandă tipuri de date pe 64 de biţi pentru afişarea rezultatului.

Exemplu

zlego.inzlego.outExplicaţie
2
3
1 2 1
2 2 2
10
1 1 2 1 1 1 1 2 1 1
1 2 3 4 5 6 7 8 9 10
4
2
2
44
30
11
13
15
6
7
8
9
10
În cel de-al doilea test, pentru zprefixul [1, 1] obţinem suma costurilor de frumusete ale apariţiilor acestuia
44 = 1+2+4+5+6+7+9+10. Pentru [1, 2] avem 2+5+6+7+10, pentru [1, 3] avem 3+8, pentru [1, 4] avem 4+9, pentru [1, 5]
avem 5 + 10, pentru [1, 6] avem 6, pentru [1, 7] avem 7, pentru [1, 8] avem 8, pentru [1, 9] avem 9, iar pentru
[1, 10] avem 10.
Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?

remote content