PS/Baekjoon Online Judge

[백준 1026] 보물 [C]

kimyoungrok 2021. 8. 5. 14:05
728x90

백준 - 1026


풀이

A는 오름차순, B는 내림차순으로 정렬 후 곱한 값들을 더해주면 된다.


소스코드

#include <stdio.h>
#include <stdlib.h>
int compare1(const void *a, const void *b){
    int n1 = *(int *)a, n2 = *(int *)b;
    if (n1 < n2)
        return -1;
    else if (n1 > n2)
        return 1;
    return 0;
}
int compare2(const void *a, const void *b){
    int n1 = *(int *)a, n2 = *(int *)b;
    if (n1 > n2)
        return -1;
    else if (n1 < n2)
        return 1;
    return 0;
}
int main(){
    int N;
    scanf("%d", &N);
    int A[N], B[N];
    for (int i = 0; i < N; i++)
        scanf("%d", &A[i]);
    for (int i = 0; i < N; i++)
        scanf("%d", &B[i]);
    qsort(A, N, sizeof(int), compare1);
    qsort(B, N, sizeof(int), compare2);
    int sum = 0;
    for (int i = 0; i < N; i++)
        sum += A[i]*B[i];
    printf("%d", sum);
}

출처

 

1026번: 보물

첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거

www.acmicpc.net

 

728x90

'PS > Baekjoon Online Judge' 카테고리의 다른 글

[백준 1260] DFS와 BFS [C]  (0) 2021.08.05
[백준 2630] 색종이 만들기 [C]  (0) 2021.08.05
[백준 1541] 잃어버린 괄호 [C]  (0) 2021.08.04
[백준 10953] A+B - 6 [C]  (0) 2021.08.04
[백준 10817] 세 수 [C]  (0) 2021.08.04