#arc0202. [arc020_2]縞模様
[arc020_2]縞模様
问题描述
小学生高橋君非常喜欢条纹图案。现在,高橋君正欣赏着一排从左到右排列的 张彩色纸。由于高橋君非常喜欢条纹图案,他希望通过用绘画颜料将其中几张彩色纸涂成新的颜色,使整体呈现出条纹图案的效果。
整体呈现条纹图案指的是,所使用的颜色恰好为 种,对于每张彩色纸及其相邻彩色纸来说,它们的颜色是不同的。
你的任务是编写一个程序,给定已经排列好的彩色纸的数量 和用于将一张彩色纸涂成另一种颜色所需的绘画颜料费用 ,输出实现条纹图案所需的最小总费用。在这个问题中,为了方便起见,每种颜色都用 到 的 种数字表示。而用于涂色的绘画颜料颜色也仅限于这 种。
输入
输入通过标准输入给出,具体格式如下:
:
- 第 行包含 个整数,分别表示彩色纸的数量 和涂成另一种颜色所需的绘画颜料费用 。
- 第 行到第 行,每行包含一个已排列好的彩色纸的颜色。其中,第 行表示从左到右排列的彩色纸中的第 张纸的颜色,表示为整数 。
输出
输出实现条纹图案所需的最小总费用,以一行输出。输出末尾换行。
输入示例1
3 10
3
2
1
输出示例1
10
涂色的顺序是从左到右依次为 。将第 张纸的颜色从「3」改为「1」,得到 。同时,将第 张纸的颜色从「1」改为「3」,得到 。
这两种情况都实现了条纹图案,并且两种情况下均需要涂改 张彩色纸,总费用是 。因此,应输出 。
输入示例2
4 100
1
1
1
1
输出示例2
200
输入示例3
10 1000
1
2
3
4
5
6
7
8
9
10
输出示例3
8000