Mistrzostwa Polski Szkół Średnich w Programowaniu Zespołowym 2024
Problem description
Jasio wraz z przyjaciółmi grają w swoją ulubioną grę karcianą Dołóż kartę.
Pewnie nigdy nie grałeś/aś w tę grę, więc pokrótce przedstawimy jej zasady. Każda z N osób siedzących w kółku ma w ręce jedną kartę, którą w swojej turze może dorzucić do stosu (jeśli to zrobi, to w ręce nie będzie już miała żadnych kart). Celem graczy jest takie dorzucanie kart do stosu, aby ich suma wyniosła K. Oczywiście chcą to zrobić w minimalnej możliwej liczbie tur. Rozgrywkę rozpoczyna gracz P-ty, potem kolej gracza P + 1-szego itd. Po N-tym graczu następuje tura 1-szego gracza, potem 2-giego itd.
Twoim zadaniem jest wyznaczenie minimalnej potrzebnej liczby tur.
Wejście
W pierwszym wierszu wejścia znajdują się dwie liczby naturalne N oraz Q, będące odpowiednio liczbą graczy oraz liczbą gier, które rozegrają. W drugim wierszu wejścia znajduje się ciąg N liczb naturalnych A1, A2, …, AN, odpowiadających wartościom kart w rękach graczy. W i-tym z kolejnych Q wierszy znajdują się dwie liczby naturalne Pi oraz Ki, będące odpowiednio indeksem rozpoczynającego gracza oraz wymaganą do osiągnięcia sumą.
Wyjście
W i-tym wierszu należy wypisać odpowiedź dla i-tej rozgrywki.
Powinna być ona minimalną potrzebną liczbą tur, aby możliwe było osiągnięcie sumy wynoszącej K. Jeżeli jest to niemożliwe należy wypisać 0.
Ograniczenia
1 ≤ N ≤ 2000, 1 ≤ Q ≤ 500 000, 1 ≤ Pi ≤ N, 1 ≤ Ai, Ki ≤ 5000.
Przykład
Input | Output | Explanation |
|
|
W pierwszej rozgrywce wystarczy, że kartę dorzuci piąty oraz drugi gracz. W drugiej rozgrywce nie jest możliwe osiągnięcie danej sumy. |