Задача 2 - Фирма от Programming Basics Exam - 28 August 2016 е с грешна логика на решението
Задача 2 - Фирма от Programming Basics Exam - 28 Аugust 2016 е с грешно авторско решение и съответно очаквания изход, който е заложен в Judge също е грешен. Вярно, че изпитът е по програмиране за начинаещи, но по всяка вероятност те все пак са учили преди това малко математика и лично аз съм учуден, че никой досега не е повдигнал въпрос за тази задача!
От обясненията за решението, дадени в условието на задачата, става ясно, че за да се намери общия брой отработени часове за цялата фирма, се събират редовните часове, отработени от един служител, с извънредните часове, отработени от всички служители!? За да бъде решена коректно задачата, трябва да се сумират редовните часове, отработени от всички служители с извънредните часове за всички служители.
Изпитът вече е минал и заминал, но все пак е добре тази задача да бъде коригирана, за да не се шашкат докато я решават тези, които се подготвят за следващите изпити по Programming Basics.
6,3 * 8 означава, че умножавате дните, в които е работено, по 8 работни часа за всеки ден. Така получавате 50,4 работни часа, изработени през редовното работно време от ЕДИН СЛУЖИТЕЛ. Защо ги събирате с овъртайма на всички служители?! Така няма да получите общия брой отработени часове от всички служители във фирмата, които да сравните с необходимото време за изработване на проекта.
От решението Ви става ясно, че за намирането на извънредните часове умножавате 2 часа по броя на служителите по пълния брой на дните. Това също е грешно, след като в условието е казано: "През 10% от дните служителите са на обучение и не могат да работят по проекта." Логично е, че докато са на обучение, служителите не могат да работят както редовно, така и извънредно.
Освен това в условието има леки неясноти. Казано е, че на третия ред на входа се подава " броят на служителите, работещи извънредно". Формулирано така, у четящият остава впечатление, че този брой е различен от общия брой на служителите. Но поради липсата на друга информация сме принудени да приемем, че всъщност това са всички служители и всички са работили извънредно. При така зададено условие това е моето решение, което без да се шашкам, продължавам да твърдя, че е вярно:
https://pastebin.com/Fjwenvzj