A9168 | Subway Innovation
时间限制1s
内存限制256MB
通过 / 提交0/0
题目描述
Berland is going through tough times — the dirt price has dropped and that is a blow to the country's economy. Everybody knows that Berland is the top world dirt exporter!
The President of Berland was forced to leave only $k$ of the currently existing $n$ subway stations.
The subway stations are located on a straight line one after another, the trains consecutively visit the stations as they move. You can assume that the stations are on the $Ox$ axis, the $i$ -th station is at point with coordinate $x_{i}$ . In such case the distance between stations $i$ and $j$ is calculated by a simple formula $|x_{i}-x_{j}|$ .
Currently, the Ministry of Transport is choosing which stations to close and which ones to leave. Obviously, the residents of the capital won't be too enthusiastic about the innovation, so it was decided to show the best side to the people. The Ministry of Transport wants to choose such $k$ stations that minimize the average commute time in the subway!
Assuming that the train speed is constant (it is a fixed value), the average commute time in the subway is calculated as the sum of pairwise distances between stations, divided by the number of pairs (that is ) and divided by the speed of the train.
Help the Minister of Transport to solve this difficult problem. Write a program that, given the location of the stations selects such $k$ stations that the average commute time in the subway is minimized.
The President of Berland was forced to leave only $k$ of the currently existing $n$ subway stations.
The subway stations are located on a straight line one after another, the trains consecutively visit the stations as they move. You can assume that the stations are on the $Ox$ axis, the $i$ -th station is at point with coordinate $x_{i}$ . In such case the distance between stations $i$ and $j$ is calculated by a simple formula $|x_{i}-x_{j}|$ .
Currently, the Ministry of Transport is choosing which stations to close and which ones to leave. Obviously, the residents of the capital won't be too enthusiastic about the innovation, so it was decided to show the best side to the people. The Ministry of Transport wants to choose such $k$ stations that minimize the average commute time in the subway!
Assuming that the train speed is constant (it is a fixed value), the average commute time in the subway is calculated as the sum of pairwise distances between stations, divided by the number of pairs (that is ) and divided by the speed of the train.
Help the Minister of Transport to solve this difficult problem. Write a program that, given the location of the stations selects such $k$ stations that the average commute time in the subway is minimized.
输入格式
The first line of the input contains integer $n$ ( $3<=n<=3·10^{5}$ ) — the number of the stations before the innovation. The second line contains the coordinates of the stations $x_{1},x_{2},...,x_{n}$ ( $-10^{8}<=x_{i}<=10^{8}$ ). The third line contains integer $k$ ( $2<=k<=n-1$ ) — the number of stations after the innovation.
The station coordinates are distinct and not necessarily sorted.
The station coordinates are distinct and not necessarily sorted.
输出格式
Print a sequence of $k$ distinct integers $t_{1},t_{2},...,t_{k}$ ( $1<=t_{j}<=n$ ) — the numbers of the stations that should be left after the innovation in arbitrary order. Assume that the stations are numbered 1 through $n$ in the order they are given in the input. The number of stations you print must have the minimum possible average commute time among all possible ways to choose $k$ stations. If there are multiple such ways, you are allowed to print any of them.
输入输出样例
输入 #1
3 1 100 101 2
输出 #1
2 3
In the sample testcase the optimal answer is to destroy the first station (with $x=1$ ). The average commute time will be equal to 1 in this way.
C++ 编辑器
输入
输出
可保存默认模板;新题优先使用已保存模板。
当前快捷键仅展示,暂不支持修改。
- 撤销
Ctrl / ⌘ + Z - 重做
Ctrl / ⌘ + Y - 查找
Ctrl / ⌘ + F - 全选
Ctrl / ⌘ + A - 复制
Ctrl / ⌘ + C - 剪切
Ctrl / ⌘ + X - 粘贴
Ctrl / ⌘ + V - 自动排版
工具栏排版按钮 - 草稿保存
编辑时自动保存到本机
历史
提交记录
状态说明时间源码
AI
作答助手
你好,我是作答助手。可以问思路、复杂度、样例含义或代码报错原因;不会直接给出完整 AC 代码。
确定要清空代码吗?
提交通过
评测结果:Accepted