小美拿到了一个数组,她每次可以进行如下操作: 选择两个元素,一个加 1,另一个减 1。 小美希望若干次操作后,众数的出现次数尽可能多。你能帮她求出最小的操作次数吗? 众数定义:在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。
区块链毕设网qklbishe.com为您提供问题的解答
小美拿到了一个数组,她每次可以进行如下操作:
选择两个元素,一个加 1,另一个减 1。
using namespace std;
int main() {
int n;
cin >> n;
vector<long long> nums(n);
for (int i=0; i<n; ++i) {
cin >> nums[i];
}
long long sum = accumulate(nums.begin(), nums.end(), (long long)0);
if (sum%n==0) {
long long avg = sum/n;
long long ans = 0;
for (auto a:nums) {
ans += abs(a-avg);
}
cout << ans/2 << endl;
return 0;
}
sort(nums.begin(), nums.end());
function<long long(vector<long long>&, int, int)> comp = [&](vector<long long>& nums, int l, int r) {
long long tot = 0;
for (int i=l; i<=r; ++i) {
tot += nums[i];
}
long long avg = tot/(r-l+1);
long long avg2 = avg+1;
long long a = 0;
long long b = 0;
long long c = 0;
long long d = 0;
for (int i=l; i<=r; ++i) {
if (nums[i]>=avg) a+=nums[i]-avg;
else b+=avg-nums[i];
if (nums[i]>=avg2) c+=nums[i]-avg2;
else d+=avg2-nums[i];
}
return min(max(a, b), max(c, d));
};
long long res1 = comp(nums, 0, n-2);
long long res2 = comp(nums, 1, n-1);
cout << min(res1, res2) << endl;
return 0;
}
// 64 位输出请用 printf("%lld")
以上就是关于问题小美拿到了一个数组,她每次可以进行如下操作:
选择两个元素,一个加 1,另一个减 1。
小美希望若干次操作后,众数的出现次数尽可能多。你能帮她求出最小的操作次数吗? 众数定义:在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。的答案
欢迎关注区块链毕设网-
专业区块链毕业设计成品源码,定制。
区块链NFT链游项目方科学家脚本开发培训
从业7年-专注一级市场
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小美拿到了一个数组,她每次可以进行如下操作:
选择两个元素,一个加 1,另一个减 1。
小美希望若干次操作后,众数的出现次数尽可能多。你能帮她求出最小的操作次数吗? 众数定义:在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。
微信:btc9767
TELEGRAM :https://t.me/btcok9
具体资料介绍
web3的一级市场千万收益的逻辑
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小美拿到了一个数组,她每次可以进行如下操作:
选择两个元素,一个加 1,另一个减 1。
小美希望若干次操作后,众数的出现次数尽可能多。你能帮她求出最小的操作次数吗? 众数定义:在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。
进群点我
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小美拿到了一个数组,她每次可以进行如下操作:
选择两个元素,一个加 1,另一个减 1。
小美希望若干次操作后,众数的出现次数尽可能多。你能帮她求出最小的操作次数吗? 众数定义:在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。
qklbishe.com区块链毕设代做网专注|以太坊fabric-计算机|java|毕业设计|代做平台-javagopython毕设 » 小美拿到了一个数组,她每次可以进行如下操作: 选择两个元素,一个加 1,另一个减 1。 小美希望若干次操作后,众数的出现次数尽可能多。你能帮她求出最小的操作次数吗? 众数定义:在一组数据中,出现次数最多的数据,是一组数据中的原数据,而不是相应的次数。 一组数据中的众数不止一个,如数据2、3、-1、2、1、3中,2、3都出现了两次,它们都是这组数据中的众数。