Submit solution

Points: 100 (partial)
Time limit: 1.0s
Memory limit: 256M

Author:
Problem type
Allowed languages
C++, PyPy, Python

Niko je veliki obožavatelj pikada te ga igra sa svojim prijateljima svake subote navečer. Kako često igra s prijateljima koji su novi u pikadu, naporno mu je računati i objašnjavati mogu li oni na svojem sljedećem bacanju 3 strelice izaći na dvostruku vrijednost (Double Out). Kako bi mu pomogli da malo zabave ostane i njemu, želite postupak računa automatizirati.

Neka je Nikinom prijatelju preostalo \(x\) bodova u igri pikada. Potrebno je odrediti može li igrač u najviše tri bacanja završiti igru koristeći "Double Out" pravilo.

Zadnje bacanje kojim se rezultat svodi na nulu mora biti dvostruka vrijednost (Double) nekog polja (1-20 ili 25).

Dostupna polja na meti su:

  • Obična polja: 1, 2, 3, ..., 20 i 25.
  • Dvostruka polja (Double): 2, 4, 6, ..., 40 i 50.
  • Trostruka polja (Triple): 3, 6, 9, ..., 60 (triples ne postoje za 25).

Ulazni podatci

  • Jedan cijeli broj \(x\) (\(2 \le x \le 500\)).

Izlazni podatci

Budući da za jedan broj \(x\) može postojati više različitih kombinacija strelica, potrebno je ispisati leksikografski najmanji niz vrijednosti. Ako je nemoguće ostvariti \(x\) sa maksimalno 3 strelice ispišite -1.

To znači:

  1. Ako imamo rješenja (10, 50, 40) i (20, 40, 40), rješenje koje počinje s 10 je manje.
  2. Ako su prve vrijednosti iste, gleda se druga, i tako dalje.
  3. Prazno mjesto (ako se koriste samo 1 ili 2 strelice) tretiramo kao nulu (npr. 0 0 40 je manje od 0 10 30).

Ulaz primjera 1

170

Izlaz primjera 1

60 60 50

Ulaz primjera 2

169

Izlaz primjera 2

-1

Ulaz primjera 3

40

Izlaz primjera 3

40

Objašnjenje primjera 3

Za \(x = 40\): Moguća rješenja su 40 (Double 20), 20 20 (Single 20 + Double 10), itd. Leksikografski najmanje rješenje (uzimajući u obzir nule za neiskorištene strelice) bilo bi 40 (što je zapravo niz 0 0 40).


Comments


  • 0
    Darac  commented on April 24, 2026, 11:13 a.m.

    Dodan novi tekst zadatka.