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

2020-2022 2023 Regulations Schedule RODO info Ranking

Contest problemset description


Fuszerka
(fuszerka)
Limit pamięci: 64 MB
Limit czasu: 1.00 s

Pan Wiesio znany jest z tego, że ,,robi u siebie jak u siebie’’, dlatego przed następnym remontem chciałby dowiedzieć się, ile uda mu się na nim zaoszczędzić, wykonując go samemu. Remont polega na położeniu dokładnie M metrów kwadratowych płytek, oczywiście bez krzyżaczków. Na Grochowie dostępnych jest N majstrów, i-ty z nich ma cennik składający się z trzech liczb:

  • Di – opłata początkowa,
  • Ci – koszt położenia jednego metra kwadratowego płytek,
  • Zi – limit powyżej którego majster nie jest w stanie już pracować, tzn. może on położyć co najwyżej Zi metrów kwadratowych płytek.

Twoim zadaniem jest obliczenie jaką kwotę zaoszczędzi pan Wiesio, czyli ile wyniósłby minimalny koszt wykonania remontu. Możesz założyć, że dane są dobrane tak, że wykonanie remontu jest zawsze możliwe.

Wejście

W pierwszym wierszu wejścia znajdują się dwie dodatnie liczby całkowite N i M, będące odpowiednio liczbą majstrów oraz powierzchnią konieczną do wyremontowania. W kolejnych N wierszach znajduje się opis cenników majstrów. Każdy cennik składa się z trzech liczb całkowitych: Di, Ci oraz Zi, tak jak opisano w treści zadania.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna liczba całkowita, będąca minimalnym kosztem wykonania remontu.

Ograniczenia

1 ≤ N, M ≤ 4000, 1 ≤ Di, Ci ≤ 107, 1 ≤ Zi ≤ M.

Przykład

Wejście Wyjście
5 20
5 2 5
1 4 4
3 2 5
9 1 4
2 4 5
68

Lewy Nim
(lewy-nim)
Limit pamięci: 64 MB
Limit czasu: 1.00 s

Alicja i Bogdan grają w grę Lewy Nim. Początkowo w grze znajduje się N stosów kamyczków, podobnie jak w grze Nim. Różnica jest taka, że ruch polega na zabraniu dodatniej liczby kamyczków, ze stosika znajdującego się najbardziej z lewej. Gracze wykonują ruchy naprzemiennie, zaczyna Alicja, a ten, kto nie może wykonać ruchu, przegrywa.

Twoim zadaniem jest wyznaczenie zwycięzcy tej gry, zakładając, że obaj gracze grają optymalnie.

Wejście

W pierwszym wierszu wejścia znajduje się dodatnia liczba całkowita N, będąca początkową liczbą stosów kamyczków. W drugim wierszu wejścia znajduje się ciąg A1, A2, …, AN, będący liczbami kamyczków na kolejnych stosikach, w kolejności od lewej.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinno znaleźć się imię zwycięzcy gry.

Ograniczenia

1 ≤ N ≤ 100 000, 1 ≤ Ai ≤ 109.

W testach wartych łącznie 20% maksymalnej punktacji zachodzi: N, Ai ≤ 5.

W testach wartych łącznie 60% maksymalnej punktacji zachodzi: N ≤ 1000.

Przykład

Wejście Wyjście
2
3 4
Alicja
Wejście Wyjście
3
1 5 2
Bogdan
Wejście Wyjście
4
2 1 2 1
Alicja

Liczba rozwiązań
(liczba-rozwiazan)
Limit pamięci: 64 MB
Limit czasu: 1.00 s

Pewnie umiesz już rozwiązywać proste nierówności, dlatego dzisiaj wyzwanie będzie nieco trudniejsze.

Twoim zadaniem jest policzenie liczby takich par dodatnich liczb całkowitych (x,y), dla których spełniona jest nierówność: x ⋅ y ⋅ (x+y) ≤ N.

Wejście

W pierwszym (jedynym) wierszu wejścia znajduje się dodatnia liczba całkowita N.

Wyjście

W pierwszym (jedynym) wierszu wyjścia powinna się znaleźć jedna liczba całkowita, będąca liczbą par spełniających nierówność.

Ograniczenia

1 ≤ N ≤ 1018.

W testach wartych łącznie 20% maksymalnej punktacji zachodzi: N ≤ 1000.

W testach wartych łącznie 50% maksymalnej punktacji zachodzi: N ≤ 1 000 000.

Przykład

Wejście Wyjście Wyjaśnienie
17
6

Rozwiązaniami są pary: (1,1), (1,2), (1,3), (2,1), (2,2), (3,1).

Wejście Wyjście
100
29