반응형
문제

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 배열을 각각 내림차순, 오름차순으로 정렬한 뒤 차례대로 곱한 값을 더해주면 되는 간단한 문제이다.
반응형
'Baekjoon > Silver' 카테고리의 다른 글
[백준 C/C++] 11170번 - 0의 개수 (0) | 2022.01.27 |
---|---|
[백준 C/C++] 16212번 - 정열적인 정렬 (0) | 2022.01.26 |
[백준 C/C++] 1932번 - 정수 삼각형 (2) | 2022.01.21 |
[백준 C/C++] 2693번 - N번째 큰 수 (0) | 2022.01.13 |
[백준 C/C++] 16953번 - A → B (0) | 2022.01.11 |