Editorial for Game Saloon


Remember to use this editorial only when stuck, and not to copy-paste code from it. Please be respectful to the problem author and editorialist.

Submitting an official solution before solving the problem yourself is a bannable offence.

Analiz

Soruda bizden istenen, verilen girdilere göre eğer VANILLA, elindeki krediyle istediği miktarda oynayabiliyorsa kalan kredisini, oynayamıyorsa ise oynayabileceği süreyi ekrana basmak. Ayrıca bir kural da hesaptaki kredi 1 dakika oynamaya yetmiyorsa oyunu hiç başlatmamak.

Öncelikle VANILLA'nın elindeki kredinin 1 dakikaya yetip yetmediğine bakmamız gerekli, yetmiyorsa 0 yazmalıyız.

Misafir durumu için _kredi/dakika başı ücret_ yaparak oynama süresini bulabiliriz. Bulduğumuz süre istenenden azsa bu süreyi, fazlaysa bu işlem sonrası kalan kredimizi _(toplam kredi - istenen süre * dakika başı kredi)_ ekrana basmamız gerekli.

Aynı işlemi üye durumu için yaparken algoritmayı 3 parçaya ayırabiliriz. _t1_ süre için kontrolleri yaptıktan sonra hala oynayabiliyorsak _t2_ süre için, daha sonrasında ise kalan süre için test edebiliriz.

Analysis

Given the inputs, if VANILLA can play for the wanted amount, we should output the remaining credit. Else if VANILLA cannot play for the wanted amount, we should output how long can the game be played instead. But we should also consider the case if there isn't enough credit for one-minute-long playtime. In that case, we shouldn't even start the game.

So let's first check VANILLA's credit for the one-minute case. If there is not enough credit, we should output 0.

For the Guest case, we can find the playtime by _total credit/credit per minute_. If the playtime we found is less than the wanted amount, we can output the playtime we found. Else if it is greater than the wanted amount, we can output _total credit - (wanted playtime * credit per minute)_.

When considering the Member case, we can divide the algorithm to 3 parts. If after checking for _t1_ minutes VANILLA can still play, we can test for _t2_ minutes. Similarly we can check for _t3_ minutes if there is enough credit left to play.