CF401A - Vanya and Cards

Problem

\(n\) 张牌,每张牌上有个数字,现在问你至少需要加入多少张新的牌使得所有牌上的数字之和为 \(0\)

Solution

不难发现,每次选择尽量大的牌添加所需的牌数是最小的。所以将所有牌加起来然后取绝对值,除以 \(x\) 向上取整就行了。

#include<bits/stdc++.h>
using namespace std;
int a[1145];
int main()
{
	int n,x,sum=0,i,j;
	scanf("%d %d",&n,&x);
	for(i=1;i<=n;i++)
	{
		scanf("%d",&a[i]);
		sum+=a[i];
	}
	sum=abs(sum);
	printf("%d",sum/x+(sum%x ? 1 : 0));
	return 0;
}
posted @ 2021-09-28 17:06  minecraft_herobrine  阅读(48)  评论(0)    收藏  举报