AT_icpc2015spring_b Card Game Strategy

题目描述

(原题面参见[官方文档](https://img.atcoder.jp/other/jag2015_spring/azunyan/pro.pdf)) Alice 和 Bob 要玩一个卡片游戏。游戏中有 $n$ 张卡片,每张卡片上都写有一个整数。 在游戏开始之前,他们会知道四个整数 $n,k,a,b$ 的值和全部 $n$ 张卡片上写的数字。 游戏开始后,Alice 会先选择一个整数 $t$,满足 $t\in[a,b]$,然后告诉 Bob $t$ 的值。 然后,Bob 会在这 $n$ 张卡片中选择 $k$ 张,然后计算这 $k$ 张卡片上所有整数的和 $u$。 Alice 想要最大化 $|t-u|$ 的值,Bob 想要最小化 $|t-u|$ 的值。两人都将采取最优策略。 请求出 Alice 选出的 $t$ 的值,以及 Bob 为这个 $t$ 选出的 $k$ 张卡片。若有多个 $t$ 在被选后都能达成 Alice 的目的,则她会选择更小的 $t$。

输入格式

输入包含两行。 第一行包含四个整数 $n,k,a,b$。 第二行包含 $n$ 个整数 $x_1,x_2,...,x_n$,其中 $x_i$ 是写在第 $i$ 张卡片上的整数。

输出格式

输出包含两行。 第一行包含 Alice 选择的整数 $t$。 第二行包含 $1$ 到 $n$ 之间的 $k$ 个互不相同的整数,表示 Bob 选择的卡片的下标。若有多个方案对 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 ```

说明/提示

#### 数据规模与约定 $1\le k\le n\le 600$,$0\le a\le b\le 180000$,$0\le x_i\le 300$。