#S5U11P01. 【例题】一次分区结果

【例题】一次分区结果

一次分区结果

难度:T2

【知识点:枢轴分区】【知识点:排序规则】

前置知识:数组、函数、递归、比较。

题目描述

只对整个数组执行一次如下固定分区,不继续排序。取最后一个元素的值为pivot,下标i初始为0。j从0到n减2依次扫描:若a[j]不大于pivot,则交换a[i]与a[j],随后i加1;否则不交换。扫描结束,交换a[i]与最后一个元素。输出i和操作后的数组。下标从0开始,交换同一位置允许且不改变值。

输入格式

第一行n,第二行n个整数。

输出格式

第一行枢轴最终下标i;第二行分区后的全部整数,用空格分隔。

样例输入

4
4 1 3 2

样例输出

1
1 2 3 4

样例说明

pivot为2,交换4和1后再将枢轴换到下标1,得到1、2、3、4。

数据范围

1≤n≤20001\le n\le2000,值为0到10的9次方。