CF81D Polycarp's Picture Gallery

题目描述

Polycarp 不仅喜欢拍照,还喜欢向朋友们展示他的照片。他最近在自己的网站上安装了一个可以滚动显示 $n$ 张照片的小部件。每一时刻,这个小部件恰好显示一张照片,并提供查看上一张或下一张的选项。从第一张照片可以切换到第二张或第 $n$ 张,从第二张可以切到第三张或第一张,以此类推。因此,照片的切换是循环进行的。 Polycarp 有 $m$ 个相册,第 $i$ 个相册中有 $a_{i}$ 张照片。Polycarp 想要挑选 $n$ 张照片,并将它们放到新小部件中。为了让网站访客浏览照片更加有趣,他打算让任意两个来自同一相册的照片不会相邻(每张照片恰好有两个相邻的照片,第一张照片的相邻照片是第二张和第 $n$ 张)。 请帮助 Polycarp 设计一个相册展示。请从他的照片中挑选 $n$ 张,并以某种顺序排列,使得没有两张来自同一相册的照片相邻(包括环状相邻)。

输入格式

第一行包含两个整数 $n$ 和 $m$($3 \leq n \leq 1000$,$1 \leq m \leq 40$),表示小部件上显示的照片数量和相册数量。 第二行包含 $m$ 个整数 $a_1, a_2, \ldots, a_m$($1 \leq a_i \leq 1000$),表示每个相册中的照片数量。

输出格式

如果无解,输出单个数字 $-1$。否则输出 $n$ 个整数 $t_1, t_2, \ldots, t_n$,其中 $t_i$ 表示小部件上第 $i$ 张照片来自第几个相册。相册按照输入顺序从 $1$ 开始编号。如果有多种方案,可以输出任意一种。

说明/提示

由 ChatGPT 5 翻译