我先辟个谣:通篇 vector = AI(假)

#include <bits/stdc++.h>

using namespace std;

long long fun(vector<int>& a, int l, int r) {
	if (l >= r) return 0;
	
	int mid = (l + r) >> 1;
	
	long long cnt = fun(a, l, mid) + fun(a, mid + 1, r);
	
	vector<int> b(r - l + 1);
	int i = l, j = mid + 1, k = 0;
	
	while (i <= mid && j <= r) {
		if (a[i] <= a[j]) {
			b[k++] = a[i++];
		} else {
			b[k++] = a[j++];
			
			cnt += (mid - i + 1);
		}
	}
	
	while (i <= mid) {
		b[k++] = a[i++];
	}
	while (j <= r) {
		b[k++] = a[j++];
	}
	
	for (int i = 0; i < b.size(); i++) {
		a[l + i] = b[i];
	}
	
	return cnt;
}

int main(void) 
{
	int n;
	cin >> n;
	
	vector<int> a(n);
	
	for (int i = 0; i < n; i++) {
		cin >> a[i];
	}
	
	n--;
	
	long long cnt = fun(a, 0, n);
	
	cout << cnt;
	
	return 0;
}

这个不是 AI。

2025/1/21 09:43
472950