QOJ.ac

QOJ

実行時間制限: 5 s メモリ制限: 1024 MB 満点: 100 難易度: [表示] ハック可能 ✓

#127. Kortspelsstrategi

統計

Alice och Bob ska spela ett kortspel. Det finns $n$ kort, och på varje kort står det ett heltal. Spelet går till på följande sätt:

  1. Alice väljer ett heltal mellan $a$ och $b$, inklusive gränserna. Kalla detta heltal $t$. Alice berättar sedan värdet på $t$ för Bob.
  2. Bob väljer $k$ av de $n$ korten. Summan av heltalen som står på de $k$ kort som Bob väljer beräknas. Kalla denna summa $u$.

Alices mål är att göra $|t - u|$ så stort som möjligt och Bobs mål är att göra $|t - u|$ så litet som möjligt. Före spelet känner både Alice och Bob till värdena på $n$, $k$, $a$ och $b$, samt heltalen på korten. Både Alice och Bob kommer att spela optimalt. Specifikt kommer Alice att göra sitt val med vetskapen om att Bob säkert kommer att minimera $|t - u|$ för det angivna $t$. Anta dessutom att Alice föredrar att välja ett mindre $t$ om hon har flera lika bra val.

Din uppgift är att bestämma spelets utgång: värdet på $t$ som Alice kommer att välja och de $k$ kort som Bob kommer att välja för detta $t$.

Indata

Indata består av två rader som representerar ett enskilt testfall. Den första raden innehåller fyra heltal $n$, $k$, $a$ och $b$ ($1 \le k \le n \le 600$, $0 \le a \le b \le 1.8 \cdot 10^5$). Den andra raden innehåller $n$ heltal $x_1, \ldots, x_n$ ($0 \le x_i \le 300$), vilket anger att $x_i$ står på det $i$-te kortet.

Utdata

Skriv ut två rader: Den första raden ska innehålla ett heltal som representerar värdet på $t$ som Alice kommer att välja. Den andra raden ska innehålla $k$ olika heltal mellan $1$ och $n$, inklusive gränserna, som representerar indexen för de kort som Bob kommer att välja. Om Bob har flera lika bra val, skriv ut vilket som helst av dem.

Exempel

Indata 1

4 2 58 100
10 10 50 80

Utdata 1

75
2 3

Indata 2

8 3 1300 1800
2 0 1 5 0 4 1 9

Utdata 2

1800
4 6 8

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.