알고리즘/BOJ

백준 1026번 보물

꾸준함. 2018. 5. 9. 21:01

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


A를 내림차순으로 정렬하고 B를 오름차순으로 정렬한 뒤 각 인덱스마다 곱한 결과가 최소값입니다.


#include <iostream>

#include <vector>

#include <algorithm>

using namespace std;

 

int N;

vector<int> A, B;

 

bool cmp(int num1, int num2)

{

        return num1 > num2;

}

 

int minResult(void)

{

        //A를 내림차순으로 정렬

        sort(A.begin(), A.end(), cmp);

        //B를 오름차순으로 정렬

        sort(B.begin(), B.end());

       

        int result = 0;

        for (int i = 0; i < N; i++)

                 result += (A[i] * B[i]);

        return result;

}

 

int main(void)

{

        cin >> N;

 

        for (int i = 0; i < N; i++)

        {

                 int temp;

                 cin >> temp;

                 A.push_back(temp);

        }

        for (int i = 0; i < N; i++)

        {

                 int temp;

                 cin >> temp;

                 B.push_back(temp);

        }

 

        cout << minResult() << endl;

        return 0;

}

 


개발환경:Visual Studio 2017


지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형

'알고리즘 > BOJ' 카테고리의 다른 글

백준 1328번 고층 빌딩  (0) 2018.05.10
백준 1016번 제곱 ㄴㄴ 수  (0) 2018.05.09
백준 1075번 나누기  (0) 2018.05.09
백준 1967번 트리의 지름  (3) 2018.05.09
백준 1057번 토너먼트  (2) 2018.05.07