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;
}

浙公网安备 33010602011771号