되는대로 살자

[C언어 기출문제&풀이] 본문

2009~2014/C/C++

[C언어 기출문제&풀이]

malu 2010. 11. 2. 17:26

프로그램 명: parking
제한시간: 1 초

미챌이 롱 스트리트를 쇼핑할 때 차를 가게 앞에 주차 후 필요한 가게로 걸어간다. 당신은 미챌을 도와 그가 걷는 거리가 최소가 되는 주차 지점을 찾는 것이다. 주차지점은 구역번호로 나누어져 있고 , 한 구역당 주차비를 지불해야 한다.

미챌은 주차 비를 두번 낼 생각이 없다. 그리고 다리가 튼튼해서 모든 백을 들고 왔다리 갔다리 하는데는 개의치 않는다.

입력

첫 번째 수는 미챌이 방문할 가게 수 n 이고 , 다음 n 개의 수는 가게 번호 Xi 이다.( 1 ≤ n ≤ 20, 0 ≤ Xi ≤ 99 )

출력

최적의 위치에 주차해서 걷는 거리의 최소 값을 출력한다.

입출력 예

입력

4
24 13 89 37

출력

152

입력

6
7 30 41 14 39 42

출력

70
출처: Nordic 2007
풀이 : 가장 작은 값이 앞에 오게 하고, 가장 큰 값이 뒤에 오게 한 다음 그 두 값의 차를 구한다. 
01#include <stdio.h>
02  
03int main()
04{
05     int  n,ar[20],i,min=100,max=0;
06     scanf("%d",&n);
07     for(i=0;i<n;i++)
08          scanf("%d",&ar[i]);
09     for(i=0;i<n;i++)
10     {
11           if(ar[i]<min)
12     min=ar[i];
13           if(ar[i]>max)
14     max=ar[i];
15      }
16      printf("%d",(max-min)*2);
17}