50pts求调
查看原帖
50pts求调
1281411
itz_HanQAQ楼主2024/10/8 22:35
#include<bits/stdc++.h>
using namespace std;
int a[1005],b[1005],sum[1005];
int main(){
	int n,k1=0,k2=0,k3=0,ans=0;
	cin>>n;
	for(int i=1;i<=n;i++)
		cin>>a[i];
	for(int i=1;i<=n;i++)
		cin>>b[i]; 
	for(int i=1;i<=n;i++){
		sum[i]=a[i]-b[i];
		if(sum[i]>0){
			k1++;
		}
		else if(sum[i]==0){
			k2++;
		}
		else k3++;
	} 
	if(k1>k3){
		cout<<0;
		return 0;
	}
	else if(k1+k2>k3){
		cout<<k2;
		return 0; 
	}
	else {
		k1=k1+k2;
		ans=ans+k2;
		for(int i=1;i<=n;i++){
			if(sum[i]>=0){
				sum[i]=1;
			}
		}
		sort(sum+1,sum+n+1);
		for(int i=n;i>=1;i--){
			if(sum[i]<1){
				ans=ans-sum[i]+1;
				k1++;
				k3--; 
			}
			if(k1>k3)
			break;
		} 
	}
	cout<<ans;
    return 0;
}

有点丑陋请谅解

2024/10/8 22:35
加载中...