Revizia anterioară Revizia următoare
| Fișierul intrare/ieșire | bomboane4.in, bomboane4.out | Sursă | Codeforces |
|---|---|---|---|
| Autor | autor necunoscut | Adăugată de |
|
| Timp de execuție pe test | 0.03 sec | Limită de memorie | 4096 KB |
| Scorul tău | N/A | Dificultate |
Vezi soluțiile trimise | Statistici
Bomboane4
Avem N coșuri cu bomboane, al i*-lea coș conține *bi bomboane. Coșurile sunt numerotate de la 1 la n. Poți aplica următoare operatie: alegi un interval [st, dr] și redistribui bomboanele
după următoarea regulă, fiecare element din șirul bst, bst + 1, ..., bdr este egal cu (bst + bst + 1 + ... + bdr) / (dr – st + 1). POȚI EXECUTA ACEASTĂ OPERAȚIE DE CÂTE ORI VREI!
Dorel vrea să afle care este cel mai mic șir in ordine lexicografică la care se poate ajunge după aplicarea operatiilor.
Date de intrare
Fișierul de intrare bomboane4.in conține pe prima linie N, numărul de coșuri. Pe urmatoarea linie avem cele N coșuri.
Date de ieșire
În fișierul de ieșire bomboane4.out vom avea șirul dorit de Dorel doar că fiecare element va fi scris ca o fracție ireductibiliă, fracțiile vor fi scrise pe linii separate.
Restricții
- 1 ≤ n ≤ 100000
- 1 ≤ bi ≤ 4000
- Pentru 20% din teste n ≤ 5000
Exemplu
| bomboane4.in | bomboane4.out |
|---|---|
| 4
7 5 5 7 |
17 3
17 3
17 3
7 1 |



Poți vedea testele pentru această problemă accesând