38求调
查看原帖
38求调
431095
Druid楼主2024/9/30 11:29
#include <bits/stdc++.h>
using namespace std;
#define int long long
int n,a1[114514],a2[114514],b1[114514],b2[114514],k1,k2,k3,k4,c,ans;
signed main()
{
	cin >> n;
	for (int i = 1; i <= n;i++)
    {
		cin >> c;
        if(c>0)
			a1[k1++] = c;
        else
			a2[k2++] = -c;
	}
	for (int i = 1; i <= n;i++)
    {
		cin >> c;
        if(c>0)
			b1[k3++] = c;
        else
			b2[k4++] = -c;
	}
	sort(a1, a1 + k1);
	sort(a2, a2 + k2);
	sort(b1, b1 + k3);
	sort(b2, b2 + k4);
	/*for (int i = 0; i < k1;i++)
		cout << a1[i] << " ";
	cout << endl;
	for (int i = 0; i < k2; i++)
		cout << a2[i] << " ";
	cout << endl;
	for (int i = 0; i < k3; i++)
		cout << b1[i] << " ";
	cout << endl;
	for (int i = 0; i < k4; i++)
		cout << b2[i] << " ";
	cout << endl;*/
	int l1, l2 = 0;
	for (l1 = 0; l1 < k1;l1++)
    {
        while(a1[l1]>=b2[l2] and l2<k4)
			l2++;
		//cout << a1[l1] << " " << b2[l2] << "\n";
		if(l2==k4)
			break;
		ans++;
	}
	l2 = 0;
	for (l1 = 0; l1 < k3; l1++) {
		while (b1[l1] >= a2[l2] and l2 < k2)
			l2++;
		//cout << b1[l1] << " " <<a2[l2]<< "\n";
		if (l2 == k2)
			break;
		ans++;
	}
	cout << ans;
	return 0;
}
2024/9/30 11:29
加载中...