Počet bodov:
Popis:  12b
Program:  8b

Po výskyte ploštíc na matfyze vedeniu došla trpezlivosť. Rozhodlo sa urobiť jeho kompletnú prerábku.

Gratulujeme! Tvoja stavebná firma Kopu Stavieb Postavím vyhrala verejné obstarávanie a teraz má zabezpečiť prerábanie matfyzu. Prerábka pozostáva z úloh, pričom o každej vieš ako dlho trvá jej dokončenie. K dispozícii máš stavbyvedúceho, zároveň si môžeš najať niekoľko robotníkov. Predtým, ako sa robotník zapojí do práce, musí absolvovať školenie u stavbyvedúceho, ktorý počas toho nepracuje. Bez stavbyvedúceho na stavbe sa robotníci flákajú a nepracujú. Ako rýchlo dokážeš vykonať prerábku?

Úloha

Úlohou je nájsť najrýchlejší možný čas za aký sa dá stihnúť vykonať \(n\) úloh, pričom každá trvá \(t\) hodín. Na začiatku máš iba stavbyvedúceho, ale na začiatku každej hodiny si môžeš najať najviac \(r\) robotníkov. Robotníci musia absolvovať povinné školenie u stavbyvedúceho, ktorý počas tej doby nepracuje. Každý robotník je inak šikovný a trvá mu iný čas, kým bude zaškolený. Stavbyvedúci dokáže školiť jedného robotníka naraz. Bez stavbyvedúceho sa nepracuje. Po absolvovaní školenia dokáže robotník pracovať rovnako rýchlo ako stavbyvedúci. Na každej úlohe môže pracovať najviac 1 človek (či už robotník, alebo stavbyvedúci).

Formát vstupu

Na vstupe je jediný riadok, na ktorom sú medzerou oddelené čísla \(n,t,r\;(1\leq t\leq 5\,000)\) – počet úloh, trvanie jednej úlohy, a počet robotníkov, ktoré máš k dispozícii. Na druhom riadku je \(r\) medzerou oddelených čísel \(p_i; (1\leq p\leq 100\,000)\) – čas, koľko trvá zaškoliť \(i\)-teho robotníka. Platí, že:

  • v prvej sade platí, že školenie aj vykonanie úlohy trvá vždy 1 (\(\forall i: p_i=t=1\))
  • v druhej a tretej sade platí, že školenie trvá vždy rovnako ako vykonanie úlohy (\(\forall i: p_i=t\))
  • o zvyšných piatich sadách nemôžete nič predpokladať

Pre premenné platia nasledujúce obmedzenia:

Sada 1 2 3 4
\(1 \leq n \leq\) \(100\) \(10000\) \(100000\) \(300000\)
\(1 \leq r \leq\) \(100\) \(5000\) \(200000\) \(1000000\)

Formát výstupu

Vypíš jeden riadok a v ňom jedno celé číslo, najkratší možný počet hodín za ktorý sa dá stihnúť prerábka.

Príklady

Input:

2 2 3
3 2 1

Output:

3

Samotný stavbyvedúci by prácu vykonal za \(2\cdot 2=4\) hodiny, ale viac sa oplatí, ak hneď na začiatku za 1 hodinu zaškolí jedného (tretieho) robotníka, a potom tento robotník spolu s ním urobí každý jednu 2 hodiny trvajúcu úlohu. Celkovo teda stavba bude trvať len \(2+1=3\).

Input:

1 2 3
1 2 3

Output:

2

Pri jednej úlohe sa neoplatí najímať robotníka.

Input:

3 3 3
50 50 50

Output:

9

Školenie robotníka by trvalo tak dlho, že sa viac oplatí robiť všetko sám.

Odovzdávanie

Na odovzdávanie sa musíš prihlásiť

Otázky a diskusia

Po skončení kola budete mať príležitosť na diskutovanie o riešeniach v diskusii pod vzorovým riešením.