Baekjoon/Silver

[백준 C/C++] 1026번 - 보물

Cewi 2021. 12. 28. 00:51
반응형

문제


S는 A 배열과 B 배열을 곱연산한 것이다. 이때 A 배열을 재배열하여 S의 최소값을 출력하면 된다.

입력


1 <= N <= 50, 0 <= Ax, By <= 100

문제 풀이


 

#include <cstdio>
#include <algorithm>

using namespace std;

int a[51], b[51];

bool compare(int a, int b)
{
    return a>b;
}

int main() { 
    int n;
    int total=0;
    scanf("%d", &n);

    for(int i=0;i<n;i++)
    {
        scanf(" %d", &a[i]);
    }
    for(int i=0;i<n;i++)
    {
        scanf(" %d", &b[i]);
    }

    sort(a,a+n);
    sort(b,b+n, compare);

    for(int i=0;i<n;i++)
    {
        total += a[i]*b[i];
    }
    printf("%d", total);
    return 0;
}

compare 함수는 내림차순으로 B 배열을 정렬하기 위해 선언했다. Sort 함수로 A, B 배열을 각각 내림차순, 오름차순으로 정렬한 뒤 차례대로 곱한 값을 더해주면 되는 간단한 문제이다.

반응형