본문 바로가기
#DevStudy/문제풀이

[P.C] 3. 여행 (The trip)

by 검은_백조 2016. 9. 23.

3. 여행

친구끼리 여행을 다녀와서 쓴 돈을 공평하게 재분배하고 싶다.

1센트 단위 내에서 쓴 돈이 같아지도록 하기 위해서 이동해야 하는 최소한의 돈의 액수는 몇인가?



입력

3

10.00

20.00

30.00


4

15.00

15.01

3.00

3.01



출력

10.00

11.99




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
 
int main() {
    int n;
    int* pay;
    float* input;
    while (true) {
        scanf("%d"&n);
        if (n == 0break;
 
        pay = (int*)malloc(sizeof(int* n);
        input = (float*)malloc(sizeof(float* n);
 
        float sum = 0;
        for (int i = 0; i < n; i++) {
            scanf("%f"&input[i]);
            pay[i] = input[i] * 100;
            sum += pay[i];
        }
            
        int avg = sum / n;
        int positive = 0;
        int negative = 0;
        int result = 0;
 
        for (int i = 0; i < n; i++) {
            int d = avg - pay[i];
            if( d > 0) positive += d;
            else negative += d;
        }
        if (positive < -negative) result = positive;
        else result = -negative;
        
 
        printf("%0.2f\n", result / 100.0f);
        
    }
 
    return 1;
}
 
cs


'#DevStudy > 문제풀이' 카테고리의 다른 글

[Baekjoon] 2579 - 계단오르기  (0) 2016.10.11
[Baekjoon] 1149 - RGB  (0) 2016.10.11
[P.C] 2. 지뢰찾기 (Minesweeper)  (0) 2016.09.23
[Baekjoon] 5393 콜라츠  (0) 2016.09.22
[P.C] 1. 3n+1 문제  (0) 2016.09.22

댓글