QOJ.ac

QOJ

時間限制: 1 s 記憶體限制: 512 MB 總分: 100

#836. 몬스터 농장

统计

$n$마리의 몬스터가 있으며, $i$번째 몬스터의 초기 체력은 $h_i$입니다. 몬스터의 체력이 0보다 크면 살아있다고 합니다. 당신의 공격력은 $a$이고, 상대방의 공격력은 $b$입니다. 몬스터가 하나라도 살아있는 동안, 당신과 상대방은 번갈아 가며 몬스터를 공격합니다(당신이 먼저 시작합니다). 당신은 매우 똑똑하기 때문에, 당신의 차례에 살아있는 몬스터 중 아무나 공격하거나 아무것도 하지 않을 수 있습니다. 만약 $i$번째 몬스터를 공격하기로 선택하면, 해당 몬스터의 체력 $h_i$가 정확히 $a$만큼 감소합니다. 당신의 공격 후, 몬스터가 죽으면(살아있지 않으면) 당신은 승점 1점을 얻습니다. 반면, 상대방은 똑똑하지 않습니다. 상대방은 자신의 차례가 되면 살아있는 몬스터 중 인덱스가 가장 작은 몬스터를 찾아 공격합니다(즉, $h_i > 0$인 가장 작은 $i$를 찾아 $h_i$를 정확히 $b$만큼 감소시킵니다). 당신이 얻을 수 있는 승점의 최댓값은 얼마입니까?

입력

첫 번째 줄에는 세 정수 $n, a, b$ ($1 \le n \le 300\,000$, $1 \le a, b \le 10^9$)가 주어집니다. 이는 각각 몬스터의 수, 당신의 공격력, 상대방의 공격력을 의미합니다. 두 번째 줄에는 $n$개의 정수 $h_1, h_2, \dots, h_n$ ($1 \le h_i \le 10^9$)이 주어집니다. 이는 각 몬스터의 체력입니다.

출력

당신이 얻을 수 있는 승점의 최댓값을 한 정수로 출력하십시오.

예제

입력 1

3 1 1
1 1 1

출력 1

2

입력 2

3 1 1
2 2 2

출력 2

3

입력 3

10 34 100
17 27 73 17 60 12 25 53 31 46

출력 3

5

참고

첫 번째 예제에서, 당신은 첫 번째 차례에 세 번째 몬스터를 죽일 수 있고, 두 번째 차례에 두 번째 몬스터를 죽일 수 있습니다. 두 번째 예제에서, 당신은 가장 왼쪽에 있는 몬스터의 체력이 $h_i = 1$이 될 때까지 기다렸다가 직접 죽일 수 있습니다.

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.