Editorial for The Alchemist Skr
Submitting an official solution before solving the problem yourself is a bannable offence.
Skr, okuduğu Simyacı kitabının etkisinde kalarak algoritma çalışmaya tövbe etmiş, evinde kimyagerliğe başlamıştır. Kendini geliştirmek için envai çeşit kimyasalla deneyler yapan kahramanımız, sonunda COVID salgınını fırsata çevirmek için satmayı planladığı el temizleyici jel prototipini geliştirebilmiştir. Skr'nin şimdi yapması gereken, kimyagerlik öğrendiği günlerde yarın yokmuşçasına satın aldığı fazla kimyasallardan kurtulmaktır.
Skr'nin deposunda \(\mathbf{A}\), \(\mathbf{B}\) ve \(\mathbf{C}\) olmak üzere 3 çeşit kimyasal bileşen bulunmaktadır. Bu bileşenlerin ikisinin birer litresi tepkimeye girdiği zaman tepkimeye giren bileşenler yok olmakta, ortaya - bu tepkimeye girmemiş- üçüncü bir bileşenden 1 litre çıkmaktadır. Örneğin \(\mathbf{A}\) ve \(\mathbf{B}\) bileşenlerinin birer litresi tepkimeye girdiği zaman \(\mathbf{A}\) ve \(\mathbf{B}\) bileşenlerinin tepkimeye giren birer litresi yok olmakta, ortaya 1 litre \(\mathbf{C}\) bileşeni çıkmaktadır. Benzer şekilde \(\mathbf{A}\) ve \(\mathbf{C}\) bileşenleri tepkimeye girdiğinde \(\mathbf{B}\) bileşenini, \(\mathbf{B}\) ve \(\mathbf{C}\) bileşenleri tepkimeye girdiğinde de \(\mathbf{A}\) bileşenini üretmektedir.
Skr artık kimyagerlik günlerini de geride bırakarak başarılı bir iş insanı olmayı hedeflediğinden, bu kimyasallardan olabildiğince çabuk kurtulma derdindedir. Kimyasalları bir atık dönüştürme tesisine satmayı planlamaktadır; ama her bir kimyasal türünü ayrı ayrı göndermenin maliyeti çok yüksektir. Bu nedenle elindeki 3 farklı türde bileşeni olabildiğince kısa zamanda tek bir çeşide indirgemesi gerekmektedir.
Tabii Skr uzun zamandır algoritma da çalışmadığından, deposundaki bu 3 tür kimyasal bileşeni en az kaç reaksiyon ile tek türe indirgeyebileceğini kendi başına bulamamıştır. O yüzden yazılım geliştirmeye henüz tövbe etmediği yıllardan tanıdığı sizden yardım istemektedir.
- Skr'nin deposundaki ekipmanı, kimyasalların küsuratlı miktarlarda tepkimeye girmesine izin vermemektedir; bu nedenle kimyasallar, tepkimelere yalnızca eşit ve tamsayı olan miktarlarda girmektedir.
- Her 1 litrelik kimyasal ikilisinin girdiği tepkime, ayrı bir reaksiyon olarak sayılmaktadır. Yani, \(\mathbf{A}\) ve \(\mathbf{B}\) kimyasallarının 2'şer litresi tepkimeye sokularak 2 litre \(\mathbf{C}\) kimyasalı üretildiğinde, bu tepkime 2 reaksiyon olarak sayılmalıdır.
- Son kalan kimyasal türünün hangisi olduğu önemli değildir.
Girdi
Girdinin ilk satırında \(\mathbf{A}\), \(\mathbf{B}\) ve \(\mathbf{C}\) olmak üzere 3 tamsayı bulunmaktadır. Bu sayılar sırasıyla Skr'nin deposunda \(\mathbf{A}\), \(\mathbf{B}\) ve \(\mathbf{C}\) türündeki kimyasallardan kaç litre kimyasal bulunduğunu belirtmektedir.
- \(0 \leq \mathbf{A, B, C} \leq 2^{31}\)
Çıktı
Programın çıktısı tek satırdan oluşmalı ve \(\mathbf{N}\) tamsayısını içermelidir. \(\mathbf{N}\) tamsayısı, eldeki 3 türde olan kimyasal bileşenleri tek türe indirgemek için yaşanması gereken minimum tepkime sayısını ifade etmektedir.
Eğer kimyasallar tek çeşide indirilemiyorsa çıktı -1
olmalıdır.
Örnek
Girdi 1:
1 1 1
Çıktı 1:
1
Girdi 2:
3 1 0
Çıktı 2:
3
Açıklama
Birinci girdide, eğer herhangi iki tür kimyasal tepkimeye girerse, tepkimeye girmeyen türde kimyasaldan elimizde toplamda 2 litre bulunur hale geliyor. Diğer iki türde kalan kimyasal da olmadığından, bu girdiler için, başlangıçtaki kimyasalları tek türde kimyasala dönüştürmek 1 tepkime ile mümkün oluyor.