65求条!!必关;
查看原帖
65求条!!必关;
1266829
cjy2327134004楼主2024/10/15 21:30
#include<bits/stdc++.h>
using namespace std;
int q[1001],w[1001],e[1001];
int main()
{
	int a,s=0,d=0,f,g,h=0,o=0,m,c;
	cin>>a;
	for(int i=1;i<=a;i++)
	cin>>q[i];
	for(int i=1;i<=a;i++)
	cin>>w[i];
	for(int i=1;i<=a;i++)
	{
		if(q[i]>w[i]){
			s++;
			o++;
		}
		if(q[i]<w[i])s--;
		if(q[i]<w[i])
		{
			d++;
			e[d]=w[i]-q[i]+1;
		}
		if(q[i]==w[i])h++;
	}
	if(s>0)
	{
		cout<<0;
		return 0;
	}
	stable_sort(e+1,e+d+1);
	f=0-s;
	if(h==0&&s<0)
	{
		int r=0;
		r=(d-o)/2+1;
		//while(d>=o&&d!=1&&o!=0)
		//{
		//	r++;
		//	o++;
		//	d--;
		//}
		for(int i=1;i<=r;i++)
		g+=e[i];
	}
	if(s<0&&h!=0)
	{
		
		if(o+h>d)
		g=d-o+1;
		if(o+h==d)
		{
			g=h+e[1]-1;
		}
		if(o+h<d)
		{
			
			c=(d-(o+h))/2+1;
			for(int u=1;u<=c;u++)
			m+=e[u];
			g=h+m;
		}
		
	}
	if(s==0)
	{
		if(h==0)g=e[1];
		if(h!=0)g=1;
	}
	cout<<g;
	return 0;
 } 
2024/10/15 21:30
加载中...