COCI '14 Contest 4 #1 Cesta

View as PDF

Submit solution

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

Problem type
Allowed languages
Ada, Assembly, Awk, Brain****, C, C#, C++, COBOL, CommonLisp, D, Dart, F#, Forth, Fortran, Go, Groovy, Haskell, Intercal, Java, JS, Kotlin, Lisp, Lua, Nim, ObjC, OCaml, Octave, Pascal, Perl, PHP, Pike, Prolog, Python, Racket, Ruby, Rust, Scala, Scheme, Sed, Swift, TCL, Text, Turing, VB, Zig

One morning, completely by chance, Mirko found a positive integer N in the middle of the street. Since Mirko adores the number 30, he wants to know the maximum multiple of the number 30 that can be obtained by shuffling the digits of the number he found in the street. Help our hero and write a programme that calculates that number (if it exists).


The first and only line of input contains the integer N, consisting of at most 10^5 digits.


The first and only line of output must contain the required number from the task, if it exists. If it doesn't exist, output -1.

Sample Input 1


Sample Output 1


Sample Input 2


Sample Output 2


Sample Input 3


Sample Output 3



  • 1
    ross_cleary  commented on May 29, 2020, 12:48 a.m.

    This problem should also be tagged as greedy algorithms.

  • -1
    LOLWHATOMGBBQ  commented on May 18, 2015, 9:54 p.m. edited

    Why does this problem have partial points? There aren't really any corner cases or increase in difficulty.