Submit solution

Points: 1
Time limit: 2.0s
Memory limit: 64M

Author:
Problem type

Mika igra jednu, ne tako poznatu, kockarsku igru žetoni. Igra se sastoji u sledećem: na početku, ispred njega se nalazi n gomila žetona u nizu, pri čemu je na i-toj gomili ai žetona. Zatim Mika odigra određeni broj poteza, gde se pod jednim potezom podrazumeva izbor dva broja i i j (ij) i dodavanje po jednog žetona svim gomilama između i-te i j-te, uključujući i ove dve gomile. Cilj igre je da, posle nekog broja poteza, na svim gomilama bude tačno k žetona.

Kada se igra završi, igrač dobija žetone na osnovu broja odigranih poteza - šo manje poteza, to više žetona. Odredite koliko je najmanje poteza potrebno da bi Mika završio igru i možda ćete dobiti neke od Mikinih žetona.

Ulaz.

(Ulazni podaci se učitavaju sa standardnog ulaza) U prvom redu ulazne datoteke nalaze se dva prirodna broja, n i k, koji predstavljaju, redom, broj gomila i traženi broj žetona na svakoj gomili na kraju igre (1 ≤ n ≤ 106, 1 ≤ k ≤ 109). U narednom redu nalaze se n celih brojeva iz segmenta [0, k] - opis gomila.

Izlaz.

(Izlazni podaci se ispisuju na standardni izlaz) U prvom i jedinom redu izlazne datoteke ispisati jedan ceo broj - najmanji broj poteza potrebnih da se završi igra. Koristiti 64-bitni tip podataka.

Primer 1.

standardni ulaz      standardni izlaz
4 5
2 1 3 1
        
6

Objašnjenje.Ukoliko sa [i, j] označimo dodavanje po jednog žetona gomilama i, i + 1, ..., j, onda nizom od 6 poteza [2, 4], [4, 4], [4, 4], [1, 4], [1, 2], [1, 2] dobijamo po 5 žetona na svakoj gomili, kao što je i trebalo. Ovo nije moguće postići u manje od 6 poteza.

Napomena.
U 30% test primera je n ≤ 103.


Comments

There are no comments at the moment.