{"problem":{"name":"[USACO19JAN] Sleepy Cow Sorting B","description":{"content":"Farmer John正在尝试将他的 $N$ 头奶牛（$1\\le N\\le 100$），方便起见编号为 $1\\ldots N$，在她们前往牧草地吃早餐之前排好顺序。 当前，这些奶牛以 $p_1,p_2,p_3,\\ldots,p_N$ 的顺序排成一行，Farmer John 站在奶牛 $p_1$ 前面。他想要重新排列这些奶牛，使得她们的顺序变为 $1,2,3,\\ldots,N$，奶牛 $1$ 在 ","description_type":"Markdown"},"platform":"Luogu","limit":{"time_limit":1000,"memory_limit":262144},"difficulty":{"LuoguStyle":"P2"},"is_remote":true,"is_sync":true,"sync_url":null,"sign":"LGP9959"},"statements":[{"statement_type":"Markdown","content":"Farmer John正在尝试将他的 $N$ 头奶牛（$1\\le N\\le 100$），方便起见编号为 $1\\ldots N$，在她们前往牧草地吃早餐之前排好顺序。\n\n当前，这些奶牛以 $p_1,p_2,p_3,\\ldots,p_N$ 的顺序排成一行，Farmer John 站在奶牛 $p_1$ 前面。他想要重新排列这些奶牛，使得她们的顺序变为 $1,2,3,\\ldots,N$，奶牛 $1$ 在 Farmer John 旁边。\n\n今天奶牛们有些困倦，所以任何时刻都只有直接面向 Farmer John 的奶牛会注意听 Farmer John 的指令。每一次他可以命令这头奶牛沿着队伍向后移动 $k$ 步，$k$ 可以是范围 $1\\ldots N−1$ 中的任意数。她经过的 $k$ 头奶牛会向前移动，腾出空间使得她能够插入到队伍中这些奶牛之后的位置。\n\n例如，假设 $N=4$，奶牛们开始时是这样的顺序：\n\n> FJ: $4, 3, 2, 1$\n\n唯一注意 FJ 指令的奶牛是奶牛 $4$。当他命令她向队伍后移动 $2$ 步之后，队伍的顺序会变成：\n\n> FJ: $3, 2, 4, 1$\n\n现在唯一注意 FJ 指令的奶牛是奶牛 $3$，所以第二次他可以给奶牛 $3$ 下命令，如此进行直到奶牛们排好了顺序。\n\nFarmer John 急欲完成排序，这样他就可以回到他的农舍里享用他自己的早餐了。请帮助他求出将奶牛们排好顺序所需要的最小操作次数。 \n\n## Input\n\n输入的第一行包含 $N$。\n\n第二行包含 $N$ 个空格分隔的整数，$p_1,p_2,p_3,\\ldots,p_N$，表示奶牛们的起始顺序。 \n\n## Output\n\n输出一个整数，为 Farmer John 采用最佳策略可以将这 $N$ 头奶牛排好顺序所需要的操作次数。 \n\n[samples]","is_translate":false,"language":"English"}],"meta":{"iden":"LGP9959","tags":["2019","USACO","O2优化","排序"],"sample_group":[["4\n1 2 4 3","3"]],"created_at":"2026-03-03 11:09:25"}}