QOJ.ac

QOJ

Limite de temps : 2.0 s Limite de mémoire : 256 MB Points totaux : 100 Hackable ✓

#17770. Игра по устранению блоков

Statistiques

На столе в ряд выложено $n$ кучек кубиков, в $i$-й кучке ($1 \le i \le n$) изначально находится $a_i$ кубиков.

Маленький Т и маленький S предоставили два магических сита с размером ячеек $p$ и $q$ соответственно, которые позволяют массово уменьшать количество кубиков в кучках путем взятия остатка от деления. В естественном развернутом состоянии каждое сито покрывает ровно $k$ кучек кубиков. Сита обладают особой эластичностью: их можно свободно растягивать в обе стороны, чтобы покрыть больший диапазон, но нельзя сжимать. Использование магического сита происходит следующим образом:

  • Выберите непрерывный отрезок кучек $[l, r]$ длиной не менее $k$ и наложите на него сито;
  • Выберите одно из двух магических сит, то есть выберите $m \in \{p, q\}$;
  • Для каждой кучки в отрезке $[l, r]$ замените количество кубиков на остаток от деления на $m$, то есть выполните $a_i \leftarrow a_i \pmod m$.

Поскольку вы участвуете в этой игре, вы, конечно, не удовлетворены посредственным результатом. Чтобы занять первое место в таблице лидеров, вы хотите узнать, какое минимальное общее количество кубиков ($\sum_{i=1}^n a_i$) может остаться на столе после произвольного количества применений магических сит.

Входные данные

Каждый тест содержит несколько наборов входных данных. В первой строке содержится целое число $T$ ($1 \le T \le 10^3$), количество наборов данных. Для каждого набора данных:

  • Первая строка содержит четыре целых числа $n, k, p, q$ ($1 \le k \le n \le 10^5$, $1 \le p < q \le 10^9$), обозначающих количество кучек, минимальную ширину покрытия сита и размеры ячеек двух магических сит.
  • Вторая строка содержит $n$ целых чисел $a_1, a_2, \dots, a_n$ ($1 \le a_i \le 10^9$), обозначающих начальное количество кубиков в каждой кучке.

Гарантируется, что сумма $n$ по всем наборам данных не превышает $10^5$.

Выходные данные

Для каждого набора данных выведите одну строку, содержащую одно неотрицательное целое число — минимальное общее количество кубиков, оставшихся на столе.

Примеры

Входные данные 1

6
1 1 3 4
2
3 2 10 20
3 1 41 59
4 3 3 4
1 2 3 4
6 4 9 20
18 27 180 9 45 99
7 4 3 5
6 7 14 12 100 78 4
9 4 244 353
9982 4435 3998 2443 5399 8244 3539 9824 4353

Выходные данные 1

1
11
3
0
4
569

Примечание

Для второго набора данных один из способов достичь минимального общего количества кубиков, равного 11:

  • Выберите отрезок $[1, 4]$ и используйте магическое сито с размером ячеек 10, количество кубиков становится $[1, 1, 9]$.

Для третьего набора данных один из способов достичь минимального общего количества кубиков, равного 3:

  • Выберите отрезок $[2, 4]$ и используйте магическое сито с размером ячеек 4, количество кубиков становится $[1, 2, 3, 0]$;
  • Выберите отрезок $[1, 3]$ и используйте магическое сито с размером ячеек 3, количество кубиков становится $[1, 2, 0, 0]$.

Editorials

IDTypeStatusTitlePosted ByLast UpdatedActions
EditorialOpen Official EditorialQingyu- Download
#1607EditorialOpenNew Editorial for Problem #17770Anonymous2026-04-23 00:55:36View

Discussions

About Discussions

The discussion section is only for posting: General Discussions (problem-solving strategies, alternative approaches), and Off-topic conversations.

This is NOT for reporting issues! If you want to report bugs or errors, please use the Issues section below.

Open Discussions 0
No discussions in this category.

Issues

About Issues

If you find any issues with the problem (statement, scoring, time/memory limits, test cases, etc.), you may submit an issue here. A problem moderator will review your issue.

Guidelines:

  1. This is not a place to publish discussions, editorials, or requests to debug your code. Issues are only visible to you and problem moderators.
  2. Do not submit duplicated issues.
  3. Issues must be filed in English or Chinese only.
Active Issues 0
No issues in this category.
Closed/Resolved Issues 0
No issues in this category.