Atenţie! Aceasta este o versiune veche a paginii, scrisă la 2017-11-03 20:38:53.
Revizia anterioară   Revizia următoare  

 

Fişierul intrare/ieşire:armate.in, armate.outSursăAlgoritmiada 2017, Runda Finala, Seniors
AutorAdrian Budau, Vlad GavrilaAdăugată de
Timp execuţie pe test1.25 secLimită de memorie524288 kbytes
Scorul tăuN/ADificultateN/A

Vezi solutiile trimise | Statistici

Armate

The dead will come North first. Enjoy dealing with them. We will deal with whatever is left of you. (Cersei Lannister)

După ce a adunat bogăţii impresionante din afacerile cu negru de fum, Charles a reuşit să adune un număr proporţional de impresionant de inamici. Iar acum, toate cele N armate ale acestora se află pe drumul către capitala regatului lui Charles, Copşa Mică. Armatele sunt dispuse în şir pe drum, a i-a armată de pe drum fiind compusă din Si soldaţi.

Deoarece Charles însuşi e mai pasionat de Blackjack decât de război, el plănuieşte să îţi împuţineze duşmanii făcându-i să se lupte între ei: la un moment dat el poate unelti ca două armate dispuse adiacent pe drum să se lupte între ele. Evident, dintre cele două armate va câştiga cea mai numeroasă, dar va pierde atâţia soldaţi câţi avea armata opozantă. Armata mai puţin numeroasă dispare complet. Mai precis, dacă cele două armate au A, respectiv B soldaţi, după bătălie va rămâne o singură armată egală cu diferenţa în modul dintre A şi B, |A-B|. Dacă armatele au acelaşi număr de soldaţi, ambele dispar. Charles poate unelti oricâte astfel de lupte.

Charles se întreabă, pentru fiecare interval [i, j] din şirul de armate, care este numărul minim de soldaţi din armatele i, i+1, ..., j care pot rămâne, dacă Charles poate unelti doar lupte între armatele aflate iniţial în intervalul [i, j].

Date de intrare

Fişierul de intrare armate.in va conţine pe prima linie numărul N de armate. Pe următoarea linie se vor afla N numere naturale, al i-ulea reprezentând numărul de soldaţi Si din armata i.

Date de ieşire

În fişierul de ieşire armate.out veţi afişa N*(N+1)/2 linii, câte una pentru fiecare interval [i, j], conţinând numărul minim de soldaţi din armatele i, i+1, ..., j care pot rămâne, dacă Charles poate unelti doar lupte între armatele aflate iniţial în intervalul [i, j]. Intervalele sunt considerate în ordine lexicografică: crescător după capătul din stânga, iar în caz de egalitate crescător după capătul din dreapta.

Restricţii

  • 1 ≤ N ≤ 500
  • 1 ≤ Si ≤ 500

Exemplu

armate.inarmate.out
This is some
text written on
multiple lines.
This is another
text written on
multiple lines.

Explicaţie

...

Trebuie sa te autentifici pentru a trimite solutii. Click aici

Cum se trimit solutii?