/*
* POJ_3244.cpp
*
* Created on: 2013年11月21日
* Author: Administrator
*/
#include <iostream>
#include <cstdio>
#include <algorithm>
using namespace std;
typedef long long ll;
const int maxn = 200005;
ll a[maxn];//****这里如果使用int会WA
ll b[maxn];
ll c[maxn];
int main(){
int n;
while(scanf("%d",&n)!=EOF,n){
int i;
int x,y,z;
for(i = 0 ; i < n ; ++i){
scanf("%d%d%d",&x,&y,&z);
a[i] = x-y;
b[i] = y-z;
c[i] = z-x;
}
sort(a,a+n);
sort(b,b+n);
sort(c,c+n);
ll sum = 0;
for(i = 0 ; i < n ; ++i){
sum += (a[i]+b[i]+c[i])*(2*i-n+1);
}
printf("%lld\n",sum/2);
}
return 0;
}
(Relax 数论1.19)POJ 3244 Difference between Triplets(找规律..//公式max(a,b,c)-min(a,b,c)=(|a-b|+|b-c|+|a-c)
最新推荐文章于 2022-07-28 21:20:21 发布
本文提供了一道名为POJ_3244的编程题解题思路及C++实现代码。该题涉及数组处理、排序算法及数学计算等知识点,通过排序并计算特定序列的和来解决问题。

3022

被折叠的 条评论
为什么被折叠?



