TouchStone
  请登录后使用
登录 注册
距离CSP第一轮: ??天 距离CSP第二轮: ??天 距离NOIP还有: ??天
 系统首页  练习题库  考试列表  判题结果  信息发布  解题排行
  • 首页
  • 题库
  • P8645
  • 题目
  • P8645[ARC126D] Pure Straight
    限制 : 时间限制 : - MS   空间限制 : 524288 KB
    评测说明 : 1s,512MB
    问题描述

    给出一个长度为 \(n\) 的序列,每个数字均为 \([1,k]\) 中的一个整数。每次操作可以将任意两个相邻的数字交换。求最少经过几次交换可以使序列中存在长度为 \(k\) 的连续子序列,子序列中的数单调递增。

    输入格式

    第一行输入两个数 \(n,k\) 。第二行输入 \(n\) 个数表示最初的序列。

    输出格式

    输出一个数表示答案。

    样例输入 1

    4 3
    3 1 2 1

    样例输出 1

    2

    样例输入 2

    5 5
    4 1 5 2 3

    样例输出 2

    5

    样例输入 3

    8 4
    4 2 3 2 4 2 1 4

    样例输出 3

    5

    提示

    样例1解释

    先交换前两个数,再交换第二和第三个数,最终序列为 \([1,2,3,1]\)

    数据范围

    \(k \leqslant n \leqslant 200\)
    \(2\leqslant k \leqslant 16\)
    输入的数均为正整数,保证初始序列中存在所有不超过 \(k\) 的正整数。