L2-017. 人以群分

题目地址

#include<algorithm>
#include<cstdio>
int n;
int i;
int a[100000];
//把人群分为两大类,即外向型和内向型
//规模尽可能接近,而他们的总活跃度差距尽可能拉开
//因为活跃的人的值总是大于不活跃的人的值
//所以不需要再去判断如何使他们的活跃度尽可能拉开,直接添加到活跃的人那边……

int main()
{
	freopen("C:\\Users\\Administrator\\Desktop\\in.txt","r",stdin);
	scanf("%d",&n);
	for( i=0;i<n;i++)
	{
		scanf("%d",&a[i]);
	}
	int t =n/2;
	int sum1=0;
	int sum2=0;
	std::sort(a,a+n);
	
	//printf("\n");
	for( i=0;i<n/2;i++)
	{
		sum1+=a[i];
	}
	for( i=n/2;i<n;i++)
	{
		sum2+=a[i];
	}
	printf("Outgoing #: %d\n",(n+1)/2);//注意这里的处理   
	printf("Introverted #: %d\n",n/2);
	printf("Diff = %d\n",abs(sum1-sum2));

	return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_36734025/article/details/79640851
017