Fie un şir , , , de numere naturale, unde este impar. Avem la dispoziţie o singură operaţie admisă şi anume: putem aduna la două poziţii diferite din şir o aceeaşi valoare naturală nenulă.
Cerinţe
- Să se verifice dacă șirul poate să aibă toate elementele egale după aplicarea unei singure operații.
- Folosind de mai multe ori operaţia admisă, să se obţină șirul cu toate elementele egale, dar valoarea egală obţinută să nu depăşească dublul valorii maxime din şirul iniţial.
Date de intrare
Fişierul perechi.in
conţine pe prima linie un număr natural , pe a doua linie numărul , iar pe linia a treia, separate prin câte un spațiu, valorile , , , .
Date de ieşire
Fişierul perechi.out
va conţine:
- Dacă , atunci se va rezolva doar prima cerință, deci se va afișa pe prima linie valoarea dacă nu se pot obține în șir toate elementele egale, sau se vor afișa trei numere naturale cu semnificația: la pozițiile și din șir se adaugă valoarea și astfel toate elementele vectorului vor deveni egale.
- Dacă , atunci se va rezolva doar a doua cerință. Pe fiecare linie a fișierului de ieșire se vor afișa exact trei valori cu semnificația: se adună valoarea la și la (unde și sunt distincte și sunt cuprinse între și ).
Restricţii și precizări
- , este impar
- , pentru orice
- Elementele șirului inițial nu sunt neapărat distincte, dar nu sunt nici toate egale
- Dacă există mai multe soluții, puteți afișa oricare dintre ele.
- Dacă numărul operațiilor aplicate este mai mic sau egal decât , iar valoarea finală este de cel mult două ori cât maximul inițial și rezultatul aplicării operațiilor furnizează în șir aceeași valoare, atunci veți primi din punctaj.
- Dacă numărul operațiilor este cuprins între și , iar valoarea finală este de cel mult două ori cât maximul inițial și rezultatul aplicării operațiilor furnizează în șir aceeași valoare, atunci veți primi din punctaj.
- Dacă numărul operațiilor este mai mare de sau dacă valoarea finală depășește dublul valorii maxime inițiale, atunci veți primi puncte. De asemenea, dacă în urma operațiilor aplicate nu se obține un șir cu aceeași valoare peste tot, sau dacă aplicați o operație în care pozițiile și nu sunt din intervalul , atunci de asemenea veți primi puncte.
- Pentru teste valorând de puncte vom avea . Pentru restul testelor vom avea , din care pentru de puncte șirul va fi format din numere distincte cuprinse între și .
Exemplul 1
perechi.in
1
5
8 2 8 8 2
perechi.out
2 5 6
Explicație
, deci se va rezolva doar prima cerință! Adunând valoarea la pozițiile și se va obține șirul constant , , , , .
Exemplul 2
perechi.in
2
5
8 5 6 3 10
perechi.out
1 2 2
3 4 4
2 4 3
Explicație
, deci se va rezolva doar a doua cerință! Valoarea maximă din șir este , deci valoarea finală trebuie să fie maximum . Trebuie efectuate cel mult operații pentru puncte.
Aplicând operația , , obținem șirul , , , ,
Aplicând operația , , obținem șirul , , , ,
Aplicând operația , , obținem șirul , , , ,
Exemplul 3
perechi.in
1
5
8 2 7 8 2
perechi.out
0
Explicație
, deci se va rezolva doar prima cerință! Nu se poate efectua o singură operație astfel încât toate elementele șirului să devină egale.
Exemplul 4
perechi.in
2
3
1 2 3
perechi.out
1 3 1
1 2 2
Explicație
, deci se va rezolva doar a doua cerință! Valoarea maximă din șir este , deci valoarea finală trebuie să fie maximum . Trebuie efectuate cel mult operații pentru puncte.
Aplicând operația , , , obținem șirul , ,
Aplicând operația , , , obținem șirul , ,