题库 信息学奥赛题库 题目列表 #include<iostream> using namespace&nbsp...
填空题
#include<iostream>
using namespace std;
int n, s, a[100005], t[100005], i;
void mergesort(int l, int r) {
	if (l == r)
		return;
	int mid = (l + r) / 2;
	int p = l;
	int i = l;
	int j = mid + 1;
	mergesort(l, mid);
	mergesort(mid + 1, r);
	while (i <= mid && j <= r) {
		if (a[j] < a[i]) {
			s += mid - i + 1;
			t[p] = a[j];
			p++;
			j++;
		} else {
			t[p] = a[i];
			p++;
			i++;
		}
	}
	while (i <= mid) {
		t[p] = a[i];
		p++;
		i++;
	}
	while (j <= r) {
		t[p] = a[j];
		p++;
		j++;
	}
	for (i = l; i <= r; i++)
		a[i] = t[i];
}
int main() {
	cin >> n;
	for (i = 1; i <= n; i++)
		cin >> a[i];
	mergesort(1, n);
	cout << s << endl;
	return 0;
}

输入:

6

2 6 3 4 5 1

输出:_________

题目信息
阅读程序 2017年 初赛
-
正确率
0
评论
22
点击
QQ
微信