문제 출처 : https://www.acmicpc.net/problem/1049

 

1049번: 기타줄

첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주어진다. 가격은 0보다 크거나 같고, 1,000보다 작거나 같은 정수이다.

www.acmicpc.net

이 문제는 낱개로 사느냐 패키지로 사느냐의 가격 대비를 비교하는 문제이다.

처음에 문제를 잘못 읽고 실수를 많이 하였는데 막상 해결하니 간단한 문제였다.

아래는 해당 문제를 해결한 소스이다.

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
#include<stdio.h>
#pragma warning(disable:4996)
int main()
{
    int N;
    int M;
    int first;
    int second;
    int first_min=1001;
    int second_min=1001;
    int value = 0;
    scanf("%d %d"&N, &M);
    for (int i = 0; i < M; i++)
    {
        scanf("%d %d"&first, &second);
        if (first < first_min)
            first_min = first;
        if (second < second_min)
            second_min = second;
    }
    if (6 * second_min < first_min) // 낱개가 더싸면 전부 낱개로 산다. 
    {
        value = value + N * second_min;
        printf("%d", value);
        return 0;
    }
    else // 낱개가 더 싸지 않는 경우 
    {
        int num = N % 6;
        value = value + (N / 6* first_min;
        if (num * second_min >= first_min)
            value = value + first_min;
        else
            value = value + num * second_min;
    }
    printf("%d", value);
}
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter
블로그 이미지

뀨심볼

깃허브 주소는 : https://github.com/hhyc2 입니다~

,