zoukankan      html  css  js  c++  java
  • 糖果传递

    题目描述

    思路

    代码

    #include <cstdio>
    #include <cmath>
    #include <algorithm>
    
    long long n, avg, tot, arr[1000005], ans;
    inline long long int read() {
    	long long s = 0, f = 1;
    	char ch = getchar();
    	while (ch < '0' || ch > '9') {
    		if (ch == '-') f = -1;
    		ch = getchar();
    	}
    	while (ch >= '0' && ch <= '9') s = s * 10 + ch - '0',
    	ch = getchar();
    	return s * f;
    }
    int main() {
    	n = read();
    	for (int i = 1; i <= n; ++i) {
    		arr[i] = read(), tot += arr[i];
    	}
    	avg = tot / n;
    	for (int i = 1; i <= n; ++i) {
    		arr[i] -= avg, arr[i] += arr[i - 1];
    	}
    	std::sort(arr + 1, arr + n + 1);
    	for (int i = 1, j = n >> 1; i <= n; ++i) {
    		ans += abs(arr[i] - arr[j]);
    	}
    	printf("%lld
    ", ans);
    	return 0;
    }
    
  • 相关阅读:
    NAT和PAT
    谷歌浏览器如何正确离线网页
    安全
    VLAN
    交换
    动态路由
    静态路由
    配置Cisco网络设备
    导数表和基本积分表
    HNOI/AHOI2018题解
  • 原文地址:https://www.cnblogs.com/liuzz-20180701/p/11563187.html
Copyright © 2011-2022 走看看