#P11080. [ROI 2019 Day 1] 拍照
[ROI 2019 Day 1] 拍照
题目背景
翻译自 ROI 2019 D1T1。
参加奥林匹克竞赛的学生来自 个地区,每个地区的代表团由 名学生组成。每个代表团的学生穿着有自己地区特色的衣服,第 个代表团穿的衣服颜色编号为 。
摄影师决定给所有参赛者拍一张照片。为了组织拍摄照片,摄影师计划按以下方式进行操作:
舞台上有一排学生站立的位置,他们沿着舞台从 到 进行编号。摄影师计划轮流找一些代表团的领队,要求该代表团的几名学生上台。摄影师指定 和 的值,选中的代表团的学生上台并站在从第 个到第 个(包括 和 )的所有位置上。如果这个位置上已经站了一名学生,则将这名学生请下台,让新的学生站上来。每个代表团的领队只能被摄影师找一次。
题目描述
为了在照片上的色彩更加和谐,摄影师希望照片上应该有 名学生,而且穿着的衣服颜色必须按照给定的顺序排列。现在他想知道如何才能得到所需的照片。
编写一个程序,根据给定的颜色顺序,确定摄影师要找的代表团编号以及他们应该占据的位置的顺序,以制作期望中的照片。如果不可能,输出 -1
。
输入格式
第一行包含两个整数 和 。
第二行包含 个整数 (),表示摄影师希望照片上的学生衣服颜色的顺序。
输出格式
输出的第一行应包含一个整数 。如果无法拍出期望的照片,则此数字应为 。否则,它应该是摄影师需要找的代表团的数量,以便拍出期望的照片。
当 时,接下来的 行应按照它们应该进行的顺序输出摄影师的请求。第 个请求由三个整数 表示,其中 是代表团的编号, 和 分别是代表团 的学生应该占据的舞台上第一个和最后一个位置的编号。所有 必须不同。
如果有多个解决方案,可以输出其中任意一个。
7 10
10 5 5 10 4 2 4
5
4 1 7
7 2 4
10 1 4
5 2 3
2 6 6
5 2
1 2 1 2 1
-1
6 5
1 1 4 5 1 4
-1
提示
样例 解释:
如果按照输出中的顺序让代表团的学生上台,那么每让一个代表团的学生上台后,舞台上的学生应该是这样排列的:
- ;
- ;
- ;
- ;
- 。
子任务 | 分值 | ||
---|---|---|---|