logo AlgoBeat OnlineJudge
登录 注册

#103580. [BZOJ 3580] 冒泡排序

内存限制:512 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:文本比较
上传者: 匿名

题目描述

下面是一段实现冒泡排序算法的 C++ 代码:

for(int i=1;i<n;i++)
for(int j=1;j<=n-i;j++)
if(a[j]>a[j+1])
swap(a[j],a[j+1]);

其中待排序的 数组是一个 的排列,swap 函数将交换数组中对应位置的值。

对于给定的数组 以及给定的非负整数 ,使用这段代码执行了正好 swap 操作之后数组 中元素的值会是什么样的呢?

输入格式

输入文件共两行。
第一行包含空格隔开的一个正整数 和一个非负整数
第二行包含 个空格隔开的互不相同的正整数,表示初始时 数组中的排列。

输出格式

输出文件共一行。
若在执行完整个代码之后执行 swap 的次数仍不够 ,那么输出一个字符串 Impossible! (不含引号),否则按顺序输出执行 swap 操作 次之后数组 的每一个元素,用空格隔开。

样例

样例输入 #1

1 1
1

样例输出 #1

Impossible!

数据范围与提示

对于 的数据满足

By 佚名提供