中位數_環形均分紙牌_CH0807_糖果傳遞
阿新 • • 發佈:2018-12-18
直接根據環形均分紙牌性質即可, AC程式碼如下:
//CH0807_糖果傳遞 #include <iostream> #include <cstdio> #include <algorithm> using namespace std; const int MAX = 1e6 + 5; long long s[MAX], tmp; int main(){ int n; scanf("%d", &n); for(int i = 1; i <= n; ++i) scanf("%lld", &s[i]), tmp += s[i]; for(int i = 1; i <= n; ++i) s[i] -= tmp / n, s[i] += s[i - 1]; nth_element(s + 1, s + n / 2 + 1, s + n + 1); for(int i = 1; i <= n; ++i) s[0] += abs(s[i] - s[n / 2 + 1]); cout << s[0] << endl; return 0; }