QOJ.ac

QOJ

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

#127. Карта ойынының стратегиясы

統計

Alice пен Bob карта ойынын ойнамақшы. Әрқайсысында бүтін сан жазылған $n$ карта бар. Ойын келесідей өтеді:

  1. Alice $a$ мен $b$ аралығынан (шеткі мәндерді қоса алғанда) бүтін сан таңдайды. Бұл бүтін санды $t$ деп атайық. Содан кейін Alice Bob-қа $t$ мәнін айтады.
  2. Bob $n$ картаның ішінен $k$ картаны таңдайды. Bob таңдаған $k$ картада жазылған бүтін сандардың қосындысы есептеледі. Бұл қосындыны $u$ деп атайық.

Alice-тің мақсаты — $|t - u|$ мәнін мүмкіндігінше үлкен ету, ал Bob-тың мақсаты — $|t - u|$ мәнін мүмкіндігінше кіші ету. Ойын басталғанға дейін Alice те, Bob та $n$, $k$, $a$ және $b$ мәндерін, сондай-ақ карталардағы бүтін сандарды біледі. Alice те, Bob та тиімді (оптималды) ойнайды. Атап айтқанда, Alice айтылған $t$ үшін Bob міндетті түрде $|t - u|$ шамасын барынша азайтатынын біле отырып таңдау жасайды. Бұдан бөлек, егер Alice-те бірдей жақсы бірнеше таңдау болса, ол кішірек $t$ мәнін таңдағанды жөн көреді деп есептейік.

Сіздің міндетіңіз — ойынның нәтижесін анықтау: Alice таңдайтын $t$ мәнін және сол $t$ үшін Bob таңдайтын $k$ картаны табу.

Кіріс деректер

Кіріс деректер бір тест жағдайын сипаттайтын екі жолдан тұрады. Бірінші жолда төрт бүтін сан $n$, $k$, $a$ және $b$ ($1 \le k \le n \le 600$, $0 \le a \le b \le 1.8 \cdot 10^5$) берілген. Екінші жолда $i$-ші картада $x_i$ саны жазылғанын білдіретін $n$ бүтін сан $x_1, \ldots, x_n$ ($0 \le x_i \le 300$) берілген.

Шығыс деректер

Екі жол шығарыңыз: бірінші жолда Alice таңдайтын $t$ мәнін білдіретін бір бүтін сан болуы керек. Екінші жолда Bob таңдайтын карталардың индекстерін білдіретін, $1$ мен $n$ аралығындағы (шеткі мәндерді қоса алғанда) өзара әртүрлі $k$ бүтін сан болуы керек. Егер Bob-та бірдей жақсы бірнеше таңдау болса, олардың кез келген біреуін шығарыңыз.

Мысалдар

Кіріс деректер 1

4 2 58 100
10 10 50 80

Шығыс деректер 1

75
2 3

Кіріс деректер 2

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

Шығыс деректер 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.