Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024

2020-2022 2023 Regulations Schedule RODO info Ranking

Problem description


Zadanie dla dzieci
(G)
Limit pamięci: 32 MB
Limit czasu: 0.50 s

Jasio znalazł w książce dla dzieci następujące zadanie:

Zadanie z książki dla dzieci

Zadanie bardzo mu się spodobało, szybko je rozwiązał i zaczął się zastanawiać nad modyfikacjami tego zadania:

  • A co gdyby monet nie było 5, tylko N?
  • A co gdyby na początku nie były cztery reszki, tylko R?
  • A co gdyby w każdym ruchu można było przewrócić na drugą stronę nie trzy, ale dokładnie K monet?

Pomóż Jasiowi i napisz program, który wczyta wartości N, R oraz K i ustali minimalną liczbę ruchów potrzebnych do osiągnięcia celu (ustawienia z samymi reszkami na wierzchu) lub ustali, że osiągnięcie celu jest niemożliwe i wypisze wynik na standardowe wyjście.

Wejście

W pierwszym (jedynym) wierszu wejścia znajdują się trzy nieujemne liczby całkowite N, R oraz K, pooddzielane pojedynczymi odstępami.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna liczba naturalna – minimalna liczba ruchów niezbędnych do osiągnięcia celu.

Jeżeli jest to niemożliwe, zamiast tego należy wypisać tylko jedno słowo NIE.

Ograniczenia

1 ≤ N ≤ 5 000, 0 ≤ R ≤ N, 0 ≤ K ≤ N.

Ciekawostka: Możliwe jest rozwiązanie tego zadania dla znacznie większych limitów (na pewno da się powiększyć limit na N do 106, a możliwe, że nawet bardziej). Ale to jest turniej dla początkujących. Zachęcamy do przemyślenia szczegółów po turnieju.

Przykład

Wejście Wyjście
5 4 3
3