COCI-09 (2009) - Γύρος #7 - 2 (Cokolada)

View as PDF

Submit solution

Points: 35 (partial)
Time limit: 1.0s
Memory limit: 32M

Author:
Problem type
Allowed languages
C, C++, Java, Pascal, Python
Cokolada

Ένα νέο είδος σοκολάτας έφτασε στο τοπικό κατάστημα. Η σοκολάτα έρχεται σε μπάρες, κάθε μπάρα αποτελείται από N τετράγωνα. Οι ράβδοι είναι εργοστασιακά κατασκευασμένες και διατίθενται μόνο σε μεγέθη που είναι δυνάμεις του 2. Με άλλα λόγια μια μονή μπάρα έχει 1,\;2,\;4,\;8,\;16,\;\ldots τετράγωνα.
Για να εκτιμηθεί πλήρως η ποιότητα της σοκολάτας, ο Mirko πρέπει να δοκιμάσει τουλάχιστον K τετράγωνα. Ο φίλος του Slavko θα ήθελε επίσης να δοκιμάσει λίγη από τη σοκολάτα. Επειδή ο Mirko βιάζεται να δοκιμάσει ο ίδιος τη σοκολάτα, αποφασίζει να σπάσει την μπάρα που αγόρασε σε κομμάτια, ώστε να έχει ακριβώς K τετράγωνα, και τα υπόλοιπα (αν υπάρχουν) τα αφήνει στον Slavko. Οι ράβδοι είναι λίγο εύθραυστες, οπότε ο Mirko μπορεί να τις σπάσει μόνο στο κέντρο τους. Με άλλα λόγια, από μια ράβδο με D τετράγωνα μπορεί να πάρει δύο ράβδους με τετράγωνα D/2.
Γράψτε ένα πρόγραμμα που θα καθορίζει τον ελάχιστο αριθμό σπασιμάτων που πρέπει να εκτελέσει ο Mirko για να αποκτήσει ακριβώς K τετράγωνα (όχι απαραίτητα σε ένα κομμάτι). Επίσης, καθορίστε το μικρότερο μέγεθος ράβδου που πρέπει να αγοράσει ο Mirko για να έχει τουλάχιστον K τετράγωνα.

Είσοδος

Η πρώτη και μοναδική γραμμή εισόδου θα περιέχει έναν ακέραιο αριθμό K\;(1 \le K \le 1\,000\,000), τον αριθμό των τετραγώνων που πρέπει να δειγματίσει ο Mirko.

Έξοδος

Η πρώτη και μοναδική γραμμή εξόδου πρέπει να περιέχει δύο ακέραιους αριθμούς, χωρισμένους από ένα κενό διάστημα. Ο πρώτος ακέραιος είναι το μικρότερο μέγεθος ράβδου που πρέπει να αγοράσει ο Mirko. Ο δεύτερος ακέραιος αριθμός είναι ο μικρότερος αριθμός σπασιμάτων.

Παραδείγματα

input

6

output

8 2

input

7

output

8 3

input

5

output

8 3

Comments

There are no comments at the moment.