Бүх бодолтууд | Шилдэг бодолтууд | Жагсаалт руу буцах |
RGB7795 - Чихэр хийх |
Карл интернэтээр тоглоом тоглох дуртай. Одоогоор түүний тоглох дуртай тоглоом нь CandyMaker, чихэр хийдэг тоглоом.
Карл одоогийн байдлаар m машин, w ажилчидтайгаар n чихэр үйлдвэрлэх үе дээр тоглож байгаа.
Нэг удаагийн үйлдвэрлэлээр m * w чихэр үйлдвэрлэж чадах бөгөөд үйлдвэрлэл болгоны дараа зарим чихрээ зараад
шинэ машин авах эсвэл шинэ ажилчин ажиллуулах сонголт түүнд бий.
Машин эсвэл ажилчин нэмж авах зардал нь p бөгөөд хэдийг ч нэмж авч болно.
Карл n чихэр гаргаж авах үйлдвэрлэлийн тоогоо хамгийн бага байлгахыг хүсч байв.
Хамгийн багадаа хэдэн удаа чихэр үйлдвэрлэх вэ?
Жишээ нь
Карл m =1 машин, w = 2 ажилчинтайгаар 60 чихэр үйлдвэрлэх ажлаа эхлүүлэв.
Машин нэмж авах эсвэл ажилчин нэмж авах зардал нь p = 1. Тэр дараах төлөвлөгөөг хэрэгжүүлэв.
1. m * w = 1 * 2 = 2 чихэр. 2 машин худалдаж авна.
2. 3 * 2 = 6 чихэр. 3 машин,3 ажилчин нэмж авна.
3. 6 * 5 = 30 чихэр. Бүгдий нь хадгалах
4. 6 * 5 = 30 чихэр. Өмнөх 30 тай нийлээд Карл 60 чихэртэй.
Нийт 4 үйлдвэрлэлээр зорилгодоо хүрлээ.
Функцын тодорхойлолт
minimumPasses функцыг гүйцээж бич. Хамгийн бага үйлдвэрлэлийн тоог олж буцаа. (long int)
Параметрүүд
- m: long integer, эхлэх үеийн машины тоо
- w: long integer, эхлэх үеийн ажилчдын тоо
- р: long integer, шинэ машин эсвэл ажилчны зардал
- n: long integer, үйлдвэрлэх ёстой чихэрний тоо
Оролтын формат
Зайгаар тусгаарлагдсан 4 integer тоо байна тус бүр харгалзан m, w, p, n – г илэрхийлнэ.
Хязгаарлалт
1 <= m, w, p, n <= 10^12
Гаралтын формат
n чихэр үйлдвэрлэхэд шаардагдах хамгийн бага үйлдвэрлэлийн тоог буцаана (long integer)
Жишээ оролт
3 1 2 12
Жишээ гаралт
3
Тайлбар
Карл 3 удаа үйлдвэрлэнэ.
1. Эхний үйлдвэрлэлээр m * w = 3 * 1 = 3 чихэртэй болно. p = 2 чихрээр шинэ ажилчин авна. w = 2, түүнд 1 чихэр үлдэнэ.
2. 3 * 2 = 6 чихэр. 2 * p = 4 чихрээр ахиад нэг машин бас ажилчин нэмж авна. w= 3, m = 4 болно. түүнд одоо 3 чихэр байгаа.
3. 4 * 3 = 12 чихэр. хамгийн багадаа n = 12 чихэртэй болох түүний зорилго биелэлээ. Тиймээс хариу нь 3 байна.
Орчуулсан : Б.Баясгалантөгөлдөр
Нэмсэн: | Bataa |
Огноо: | 2020-04-13 |
Хугацааны хязгаарлалт: | 1s |
Эх кодын хэмжээний хязгаарлалт: | 50000B |
Memory limit: | 1536MB |
Cluster: | Cube (Intel G860) |
Програмчлалын хэлүүд: | ADA95 ASM32 ASM64 BASH BF C NCSHARP CSHARP C++ 4.3.2 CPP C99 CLPS LISP sbcl LISP clisp D ERL FORTRAN HASK ICON ICK JAVA JS-RHINO JULIA LUA NEM NICE OCAML PAS-GPC PAS-FPC PERL PHP PIKE PRLG-swi PYTHON PYPY3 PYTHON3 RUBY SCALA SCM guile ST TCL WHITESPACE |
Эх сурвалж: | https://www.hackerrank.com/challenges/making-candies/problem |
hide comments