题意:你现在有
n
n
个东西你要分给个人,建造一个这个东西需要花费
a
a
,毁坏一个这个东西需要花费,问最少花费多少钱才可以使这m个人拿到的东西个数一样。
思路:需要建
m−n%m
m
−
n
%
m
个,或者拆
n%m
n
%
m
个,算一下哪个花费少就OK,注意开long long。
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll n, m, a, b, ans;
int main()
{
scanf("%lld%lld%lld%lld", &n, &m, &a, &b);
ll t1 = m-n%m, t2 = n%m;
printf("%lld\n", min(t1*a, t2*b));
return 0;
}
/*
9 7 3 8
*/