[10041] Vito’s Family





Problem Link : http://acm.uva.es/p/v100/10041.html










■ Problem
– 친척들과의 거리합 최소구하기

■ Solution
– 정렬해서 가운데 친척집에 비토집이 있으면 치천들과의 거리합이 최소가된다

■ Critical Input





[ Source Code ]

// 소스를 이곳에 넣으세요.#include <stdio.h>
#include <stdlib.h>
#include <algorithm>
using namespace std;

int main ( void )
{

int result, sum, test_num, input_num, input[500];
int loop, loop2;

scanf ( %d, &test_num );

for ( loop = 0 ; loop < test_num ; loop++ ) {
result = sum = 0;

// Input 받는 부분
scanf ( %d, &input_num );
for ( loop2 = 0 ; loop2 < input_num ; loop2++ ) {
scanf ( %d, &input[loop2] );
}

sort ( input, input + input_num );

// 각각친척집과의 거리들의 합을 구함
result = input_num / 2;
for ( loop2 = 0 ; loop2 < input_num ; loop2++ ) {
sum += abs ( input[loop2] – input[result] );
}

printf ( %d\n, sum );

}

return 0;

}


댓글 남기기