#P4923. 最近距离

    ID: 4892 传统题 1000ms 128MiB 尝试: 1 已通过: 1 难度: 3 上传者: 标签>搜索枚举模拟普及分支结构简单贪心

最近距离

题目描述

给定一个长度为 nn 的整数数组 a1,a2,,ana_1, a_2, \dots, a_n。对于每个整数 ii1in1 \le i \le n),请你找到一个整数 jj,满足:

  • 1jn1 \le j \le n
  • aj=0a_j = 0
  • 在满足以上两个条件的情况下,ij|i-j| 应尽可能小。ij|i-j| 的最小可能值记为 bib_i

请你计算并输出 b1,b2,,bnb_1, b_2, \dots, b_n。保证给定数组中至少存在一个 00

输入格式

第一行包含一个整数 nn
第二行包含 nn 个整数 a1,a2,,ana_1, a_2, \dots, a_n

输出格式

一行,nn 个整数 b1,b2,,bnb_1, b_2, \dots, b_n,相邻两个整数之间用一个空格隔开。

样例

9
2 1 0 3 0 0 3 2 4
2 1 0 1 0 0 1 2 3

数据范围

  • 1n2×1051 \le n \le 2 \times 10^5
  • 109ai109-10^9 \le a_i \le 10^9
  • 数组中至少包含一个 00