Hide

Företagsrykte

Du har just startat ett företag. Du vet att det företaget sysslar med inte är jättepopulärt – varje dag $i$ under de kommande $n$ dagarna räknar du med att ditt rykte kommer försämras med något givet värde $r_ i$. Du kommer därefter även förlora lika mycket pengar som ditt rykte är dåligt. Under natten har du möjlighet att nollställa ditt rykte, genom att byta namn på företaget. Detta går att göra hur många gånger som helst, men kostar en fix summa $k$.

Vilken är den minsta förlust du kan uppnå?

Indata

Den första raden innehåller två heltal $n$, och $k$ ($2 \leq n \leq 4 \cdot 10^5$, $0 \leq k \leq 2 \cdot 10^9$). Den andra raden innehåller $n$ tal $r_ i$ ($1 \le r_ i \le 10^6$) – hur mycket ditt rykte ditt rykte kommer försämras under dag $i$.

Utdata

Ett tal, den minsta förlusten du kan uppnå.

Poängsättning

Din lösning kommer att testas på en mängd testfallsgrupper. För att få poäng för en grupp så måste du klara alla testfall i gruppen.

Grupp

Poängvärde

Gränser

1

12

$2 \le n \le 20$

2

17

$2 \le n \le 1000$

3

25

$k \le 1000$, $r_ i \le 1000$

4

23

Alla $r_ i$ är samma

5

23

Inga ytterligare begränsningar

Förklaring av Sample 1

Här är det optimalt att byta namn tre gånger: under första, andra och tredje natten.

Förklaring av Sample 2

Här är det optimalt att byta namn en gång, under natten mellan dag 15 och dag 16.

Sample Input 1 Sample Output 1
5 3
5 4 3 2 1
26
Sample Input 2 Sample Output 2
30 999999999
10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000 10000000
3399999999
CPU Time limit 1 second
Memory limit 1024 MB
Author
Simon Lindholm
Source Programmeringsolympiadens lägertävling 2018
License Creative Commons License (cc by-sa)

Please log in to submit a solution to this problem

Log in