//I. Sort it
I. Sort it
时间限制:2s
空间限制:256MB
本题分值:400
题目描述
冒泡排序是一种经典的排序算法,冒泡排序(升序排列)的C++代码如下:
template < typename T > void BubbleSort(T a[], int n)
{
for (int i = 0; i < n - 1; i++)
for (int j = 0; j < n - 1 - i; j++) {
if (a[j] > a[j + 1])
swap(a[j], a[j + 1]);
}
}
现有长度为 \(n\) 的整型数组 \(a\),请问,对于\(x=1,2,...,n\),如果调用函数
BubbleSort(a, x);
函数过程中将发生几次交换(swap)?(各个询问是独立的)
输入格式
第一行一个正整数 \(n\),表示数组长度。
第二行 \(n\) 个正整数\(a_i\),表示这个数组。
输出格式
对于每一个\(x\),输出对应的答案。
样例输入1
样例输出1
样例1解释
数据范围及限制
\(1\le a_i\le 5*10^5\)
测试点编号 | n | 测试点分值 |
---|---|---|
1~2 | \(1\le n\le 100\) | 每个测试点40分 |
3~4 | \(1\le n\le 1000\) | 每个测试点60分 |
5~6 | \(1\le n\le 5*10^5\) | 每个测试点100分 |
信息
- ID
- 1312
- 难度
- 9
- 分类
- (无)
- 标签
- (无)
- 递交数
- 2
- 已通过
- 1
- 通过率
- 50%
- 上传者