描述 Description
数轴上有N个点,任意两点连线得到n(n-1)条线段,试求线段的总长。
输入格式 InputFormat
第一行,一个整数N,表示点数。
接下来N行,每行一个整数X_i,表示点的坐标。
接下来N行,每行一个整数X_i,表示点的坐标。
输出格式 OutputFormat
一个整数,表示线段的总长。
数据范围和注释 Hint
N <= 10000 , 0 <= X_i <= 1000000000
/*
这题暴力“竟然”过了... 可能Tyvj前面题的数据都比较弱吧
*/
代码:
01 |
|
02 | |
03 | |
04 |
05 |
|
06 | |
07 | |
08 |
|
09 | #include <stdio.h> |
10 | #include <iostream> |
11 | #include <algorithm> |
12 | using namespace std; |
13 | long long f[10010]; |
14 | int main() |
15 | { |
16 | long long N,i,j,k; |
17 | while ( scanf ( "%lld" ,&N)!=EOF) |
18 | { |
19 | for (i=0;i<N;i++) |
20 | scanf ( "%lld" ,&f[i]); |
21 | sort(f,f+N); |
22 | long long num=0,t; |
23 | for (i=0;i<N-1;i++) |
24 | { |
25 | for (j=i+1;j<N;j++) |
26 | { |
27 | num=num+(f[j]-f[i]); |
28 | } |
29 | } |
30 | printf ( "%lld\n" ,num*2); |
31 | } |
32 | return 0; |
33 | } |