您的位置:首页 > 其它

1679: [Usaco2005 Jan]Moo Volume 牛的呼声 (差分序列)

2014-07-06 23:46 381 查看
#include<algorithm>
#include<iostream>
#include<cstring>
#include<cstdio>
#define inf 0x7fffffff
#define MAXN 100001
using namespace std;

inline int read() {
int x = 0, f = 1;
char ch = getchar();
while (ch < '0' || ch > '9') {
if (ch == '-')f = -1;
ch = getchar();
}
while (ch >= '0' && ch <= '9') {
x = x * 10 + ch - '0';
ch = getchar();
}
return x*f;
}
int n, a[10001], s[10001];
long long ans;

int main() {
n = read();
for (int i = 1; i <= n; i++)
a[i] = read();
sort(a + 1, a + n + 1);
for (int i = 1; i < n; i++)
s[i] = a[i + 1] - a[i];
for (int i = 1; i < n; i++)
ans += (long long) i * (n - i) * s[i];
printf("%lld", 2 * ans);
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: