321
社区成员




存在n个节点,目标节点在m。 每个节点有自己的权值a。 在权值k内(含权值K)选择一个权值非0节点且与目标节点距离最近。 节点i与节点j的距离为abs(i-j)。
输出最小距离
题目很简单,中心扩散即可,这是效率最高的办法,但毕竟 C 站的题目不考效率,就用个偷懒的办法好了
n,m,k = map(int,input().split())
arr = list(map(int,input().split()))
print(min([abs(m - 1 - i) if 0 < v <= k and i != m - 1 else n for i,v in enumerate(arr)]))
inp = readline().split(' ').map(x => parseInt(x))
arr = readline().split(' ').map(x => parseInt(x)).map((x,y) => x > 0 && x <= inp[2] && y != inp[1] - 1 ? Math.abs(inp[1] - 1 - y) : inp[0])
arr.sort((x,y) => x>y?1:-1)
print(arr[0])