链接:https://ac.nowcoder.com/acm/problem/21781
来源:牛客网
时间限制:C/C++ 1秒,其他语言2秒
空间限制:C/C++ 32768K,其他语言65536K
64bit IO Format: %lld
题目描述
一群牛兄牛弟准备去一家餐厅吃饭,已知他们是按照某个顺序先后到达餐厅的,第i个到达餐厅的要求坐在离门口至少a[i]的距离
牛兄牛弟们不准备让别人知道他们是兄弟,虽然他们长得比较像,他们决定任意两个兄弟之间的距离都要大于等于d
餐厅服务员记录下他们的需求之后,开始陆续给到来的牛兄弟们排座位,服务员每次会指定一个满足要求的离门口最近的座位给新到的牛
输入描述:
第一行输入两个整数n,d
第二行输入n个数a[i]
1 ≤ n ≤ 1000, 1 ≤ d,a[i] ≤ 106
输出描述:
输出n个数分别表示每一个牛的位置
n, d = list(map(int, input().split()))
a = list(map(int, input().split()))ans = []
ans.append(a[0])
res = []
res.append(a[0])
for i in range(1, n):ans.append(a[i])ans.sort()for j in range(len(ans)-1):if ans[j+1]-ans[j]<d:res.append(max(res)+d)breakelse:res.append(a[i])for i in res:print(i, end=" ")