알고리즘 모음(C++)

백준 11026 - 보물(C++) 본문

백준

백준 11026 - 보물(C++)

공대생의 잡다한 사전 2022. 4. 28. 02:31

문제 링크입니다. https://www.acmicpc.net/problem/1026

 

1026번: 보물

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

www.acmicpc.net

정렬을 이용해 푸는 문제입니다.

A의 배열은 오름차순으로, B의 배열은 내림차순으로 정렬해 서로 곱해주면 되는 문제입니다.

 

 

자세한 것은 코드를 참고해주세요

#define _CRT_SECURE_NO_WARNINGS
#include <cstring>
#include <vector>
#include <iostream>
#include <algorithm>
#include <queue>
#include <cmath>
#include <cstdio>

using namespace std;

int N;
int a[101];
int b[101];
int sum;

bool cmp(int x, int y) {
    if (x > y) return true;
    else return false;
}

int main()
{
    cin.tie(0);
    cout.tie(0);
    cin >> N;
    for (int i = 0; i < N; i++) {
        cin >> a[i];
    }
    for (int i = 0; i < N; i++) {
        cin >> b[i];
    }
    sort(a, a + N);
    sort(b, b + N, cmp);
    for (int i = 0; i < N; i++) {
        sum += a[i] * b[i];
    }
    cout << sum;
    return 0;
}

 

질문 및 조언 댓글 남겨주세요

'백준' 카테고리의 다른 글

백준 11000 - 강의실 배정(C++)  (0) 2022.05.02
백준 11047 - 동전 0(C++)  (0) 2022.04.28
백준 2217 - 로프(C++)  (0) 2022.04.28
백준 1931 - 회의실 배정(C++)  (0) 2022.04.28
백준 1303- 전쟁 - 전투(C++)  (0) 2022.04.19